Chuyển đến nội dung
Diễn đàn CADViet

Danh Cong

Moderator
  • Số lượng nội dung

    1387
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    117

Bài đăng được đăng bởi Danh Cong


  1. chào bạn, mình cũng đang tìm kiếm một lisp tương tự như bạn babe như yêu cầu của mình nó có khác một tí, ví dụ 2 đường polyline cắt nhau mình muốn tạo thành 4 đường polyline giao nhau tại vị trí giao nhau của 2 đường polyline ban đầu. thông thường mình hay dùng lệnh BR để cắt rời nó ra rồi mình dùng lệnh EX để cho nó giao nhau. mục đích mình làm như vậy để thiết kế nút giao thông, đối với đồ án lớn thì có rất nhiều nút, nên việc thao tác như vậy sẽ tốn rất nhiều thời gian. xin được giúp đỡ (nếu áp dụng được cho line và đường cog thì rất hay, còn phứt tạp quá mình chỉ cần áp dụng cho polyline). cảm ơn ban

     

    Bạn nên sử dụng tính năng tìm kiếm của diễn đàn:

    Một số bài viết phù hợp với nội dung của bạn ,bạn có thể xem ở đây.

    http://www.cadviet.com/forum/topic/51839-yeu-cau-lisp-cat-doi-tuong/


  2. Câu hỏi này khó hiểu quá, sao Danh Cong hiểu được hay vậy?

    Em nghĩ thuật toán hiểu qua ví dụ này sẽ tốt hơn:

    Xét điểm H1, yêu cầu tìm các điểm nằm bên phải sao cho Delta-X và Delta-Y đồng thời lớn nhất:

    Nhìn vào hình vẽ , nhận ra ngay:

    +  Điểm A1, A2, A3 nằm bên phải H1.

    + Điểm A2 có Delta-X là lớn nhất so với H1. Nhưng A1 lại có Delta-Y lớn nhất so với H1.

    ----> Bài toán vô nghiệm.

     

    Xét điểm H2;

    + Có B3, B4, B7 nằm bên phải H2.

    + B7 đồng thời có cả Delta-X , Delta-Y là lớn nhất so với H2.

    ---> Bài toán có nghiệm là B7. 

    Tuy nhiên thì em cũng có thắc mắc: Tại sao chủ thớt không sử dụng khoảng cách, mà lại sử dụng Delta-X, Delta-Y. Và ứng dụng của thuật toán này nhằm mục đích gì.????

    124641_test_1.png


  3. Mình chỉ đưa ra thuật toán theo suy nghĩ của mình thôi: 

    B1: Có Pline --> Có được tập hợp tọa độ các đỉnh của Pline: ( Tập hợp S1 )

    B2: Có điểm tọa độ điểm P ( x-P, y-P). Lọc ra được tập hợp các điểm bên trái / phải so với điểm P ( Tập hợp S2 )

    B3: Từ tập hợp S2, tính ra được tập hợp các khoảng cách Delta-X ( Tập hợp S3), khoảng cách Delta-Y ( Tập hợp S4)

    B4: So sánh để tìm ra giá trị lớn nhất Delta-X, Delta-Y trong B3.

    B5: Tìm điểm trong tập hợp S2 thỏa mãn điều kiện trong B4:

     

    Theo cách nghĩ của mình: Bài toán đưa ra có thể có nghiệm hoặc vô nghiệm ( do 1 điểm chưa chắc đã có cả X và Y đều lớn )

    Suy nghĩ đúng sai thế nào, mọi người trong diễn đàn góp ý thêm ^^


  4. Lỗi bên layout, các khung viewport không hiển thị hết, phải chuyển sang sheet layout khác hoặc sang bên model rồi quay trở lại thì khung viewport đó mới hiển thị lai, nhưng khung viewport khác lại không hiển thị

    Mình chưa xem bản vẽ, nhưng dựa vào lời bạn nói thì mình cũng đoán nguyên nhân thế này ^^.

    Có thể là số khung MV của bạn nhiều quá trên 1 layout, bản vẽ của bạn quá nặng, máy tính không đủ bộ nhớ để xử lý hình ảnh. Thế nên khung MV không hiển thị, còn nội dung bên trong khung MV không hề suy chuyển gì đâu.

    ( Bản vẽ của mình làm có khi lên đến cả 50~60 cái MV trong 1 Layout, nên bị trường hợp này như cơm bữa :D  :D  :D  )

    + Giải quyết thì đúng như bạn nói : 1 là quay sang bên Model rồi trở lại bên Layout.

     Cách 2 nhẹ nhàng hơn là bạn vào tận trong những khung MV nào không hiển thị, rồi "Regen" nó lại. Là nó hiện ra ầm ầm à.

    Còn nếu 2 cách trên không ăn thua.. Thì bạn nên kiểm tra bằng cách gõ  "MAXACTVP", rồi gõ tiếp 64 coi sao. Hì hì hì. ;)  ;)  ;)

    • Vote tăng 1

  5. Cảm ơn anh nhé nhưng anh ơi sao các block sau khi dùng lisp cứ nhảy linh tinh vậy anh ơi? Vì những block không đính vào đầu mút của pline thì sau đó em chỉnh lại rất mất thời gian!

    Cũng có thể lỗi do hệ tọa độ bản vẽ không ở dạng World mà ở dạng Current:,  hoặc lỗi như bác #Ha nói ở trên.  :D  :D  :D

    Làm thử cách sau:

    B1: UCS---> World

    B2: Plan---> World 

    Rồi thử lại lisp.

    Không được thì gửi bản vẽ lên coi thế nào.


  6. Anh ơi em thử rồi nhưng vẫn không được,lisp của anh em copy ra 1 notepad rồi dùng không biết như thế có ảnh hưởng gì đến lisp không?

    Bạn dùng thử lisp của bác #Cuongtk hay #QuocManh đi :) Nhiều anh chị khác bỏ công hỗ trợ cho bạn rồi, thì bạn phải có "Trách nhiệm " test thử lisp của họ , rồi cho ý kiến chứ.  :D  :D  :D

    • Vote tăng 1

  7. Mong các bác giúp đỡ mở file cad này. Em không tài nào mở được. 

    https://www.mediafire.com/?v0wgofo75vr3fdv

    Đã cố thử và cũng bị "out". Nhìn xuống dòng command thì máy báo lỗi thiếu font "TDT.shx".

    Tìm kiếm trên toàn diễn đàn font "TDT.shx" thì ra câu trả lời này:  http://www.cadviet.com/forum/topic/45023-loi-font-cad10-tren-win-7-64-bit-nho-a-e-giup/?p=203377

    Mình chịu thua.


  8. Có chứ nhỉ??? Không thì tại sao có: vlax-curve-getEndParam

    Thay vì: "Nhap Ten Block" thì pick vào Block để lấy tên có lẽ hay hơn!

    :v :v, anh #QuocManh soi kỹ quá ^^ :, hì em nói nôm na thế , nhưng nếu ko dùng EndParam để xác định mà chỉ nhìn bằng mắt trên màn hình thì ko phân biệt được đâu là đầu, đâu là cuối @@.


  9. DIMSCALE:

    Sets the overall scale factor applied to dimensioning variables that specify sizes, distances, or offsets.

    Also affects the leader objects with the LEADER command.

    Use MLEADERSCALE to scale multileader objects created with the MLEADER command.

    ...............................

    DIMSCALE does not affect measured lengths, coordinates, or angles.

     

    Tóm tắt lại là : Dimscale không ảnh hưởng đến việc đo góc !. 

    Còn tại sao không ảnh hưởng thì bạn liên hệ với hãng Autodesk . ^^

    P/s: Khổ thân anh #Bee cứ loay hoay trợ giúp từ bao giờ :v :v :v  :D  :D  :D   há há

    • Vote tăng 2

  10. Sao Danh Công biết các bác hiểu lầm. Tiêu đề có đề cập đến "quét" hay "pick" đâu nhỉ?? ^_^

    Ngay đề bài là hiểu ra ý người đặt câu hỏi mà anh....."Biết có lệnh Ncopy mà chỉ cho chon được 1 đối tượng một lần, xin viết lisp cải tiến lệnh Ncopy chon nhiều đối tượng để lấy ra hay có cách nào tương tự."..

    Em đã test thử lệnh Ncopy, thì Cad bắt em chọn 1 đối tượng / 1 lần pick. ( Cad 2012 ) ---> Em chọn 50 đối tượng trong 1 Block = phải pick 50 lần :(, pick gãy tay mất.

    ( Bạn đăng topic đâu rồi nhỉ, xem ý kiến mọi người đi ^^ )


  11. Thực ra viết lisp thì là bỏ ra chất xám để giúp người khác nên những người viết lisp xứng đáng được trả tiền rồi,nhưng khổ nỗi em mới đi thực tập nên xèng cũng không dư dả lắm.Nếu lisp của em yêu cầu cao quá khó viết hoặc phải trả tiền thì bác nào cao thủ vào trả lời giùm em để em đỡ trông ngóng! Em xin cảm ơn!

    Vậy mong bạn sớm ra trường, cố gắng kiếm nhiều xèng , rồi giúp đỡ người có hoàn cảnh khó khăn hơn mình, và ủng hộ diễn đàn nhé !!! 10k, 20k,...50k... Góp gió nhỏ rồi sẽ thành bão lớn thôi.

    Tặng bạn cái lisp: Lệnh Test , bạn xem có hợp ý không :)

    http://www.cadviet.com/upfiles/7/124641_insert_block__test.lsp

    • Vote tăng 3

  12. Help chắc có thể giúp được gì cho anh :)

    ...............InsertionPoint

    Variant (three-element array of doubles); read-write

    A 3D WCS coordinate representing the insertion point. 

     

    Remarks 

     

    MText: Specifies the location for a corner of the text boundary. Use the AttachmentPoint property to specify which corner of the text boundary is to be positioned at this insertion point. 

     

    Text: This property is read-only except for text whose Alignment property is set to acAlignmentLeft, acAlignmentAligned, or acAlignmentFit. To position text whose justification is other than left, aligned, or fit, use the TextAlignmentPoint property. 

    • Vote tăng 1

  13. Bạn mở lisp, tìm dòng (setvar "osmode" 9). Rồi thay số 9 bằng 511 là được. 

     

    Còn bạn muốn thay đổi chế độ bắt điểm thì hiểu như thế này: Cad thiết lập chế độ bắt điểm như sau

    0 NONe

    1 ENDpoint

    2 MIDpoint

    4 CENter

    8 NODe

    16 QUAdrant

    32 INTersection

    64 INSertion

    128 PERpendicular

    256 TANgent

    512 NEArest

    1024 QUIck

    2048 APParent Intersection

    4096 EXTension

    8192 PARallel

     

    Bạn muốn bắt điểm theo Endpoit và Node. Thì lấy 1+8=9. ( Trường hợp của bạn )

    Bắt điểm theo Endpoint, Center, Intersection = 1 + 4 + 32 = 37

    Hiểu được điều này thì bạn tùy ý thay đổi theo sở thích nhé.

    • Vote tăng 2

  14. Extrim vẫn sài bình thường mà. Unlock layer thì mới sài đc 

    Hình như không phải thế a Bee ạ. 

    Theo bản vẽ của chủ thớt, thì sau khi vẽ 1 loạt đường thẳng xong, đã Extrim lần 1 xong. Rồi di chuyển các đường thẳng 1 đoạn nhỏ xíu thôi. Rồi Extrim lại lần 2 thì không được nữa.

    Anh Zoom to mép phải hình vẽ thì sẽ thấy.

    (Em cũng đang thắc mắc là tại sao không thể Extrim được, :( )

    Em gửi 1 bản vẽ tương tự: Do bản vẽ chủ thớt nặng quá. http://www.cadviet.com/upfiles/7/124641_test.dwg

    124641_untitled_3.png

     

     

×