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

7o7

Thành viên
  • Số lượng nội dung

    214
  • Đã tham gia

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

  • Ngày trúng

    26

Bài đăng được đăng bởi 7o7


  1. 1 giờ trước, dohoangviet1606 đã nói:

    (DEFUN C:dbb ()
    (setq k 1) 
    (GRAPHSCR)
    (setvar "orthomode" 0)
    (setVAR "osmode" 549)
    (setq s1 (getvar "dimscale"))
        (setq sz (* 32.0 S1))
        (setq h1 (* 7 S1))
        (setq L1 (* 7 S1))
        (setq NO1 (getint " \nSo bat dau<1>: "))(terpri)
        (if (= NO1 nil) (setq no1 1))
        (while k
           (setq no2 (ItoA no1))  ;  (setq no2 (RtoS no1 2 2))    
           (Setq B1 (getpoint "\nDiem dau : "))
           (Setq B2 (getpoint b1 "\nDiem cuoi: "))
           (setq sz1 (/ sz 2))
           (setq D (distance B1 B2))
           (setq A (angle B1 B2))
           (setq D2 (- D (/ sz 2)))
           (setq D1 (polar B1 A D2))    
           (command "CIRCLE" B2 SZ1)
           (command "QLEADER" B1 D1 "" "") (COMMAND)                 
           (COMMAND "TEXT" "M" b2 h1 "" no2)
           (setq no1 (+ 1 no1))
        )
    )

     

    ;;Em có mò ra như trên, cũng khá ok rồi, nhưng có nhờ mọi người nhận xét và chỉnh chút xíu là "số trc 10 thêm 0 vào trước số đó" (VD: 1,2,3.. > 01,02,03...)

    Em cảm ơn!

    Chuyện đó dễ mà

    if no1 < 10 then no2 = "0" + (itoa no1)

    else no2 =  (itoa no1)

    • Vote tăng 1

  2. 29 phút trước, NTH2024 đã nói:

     

     

    Cám ơn các bạn đã góp ý, mình thấy các bạn hình như dị ứng với những post như thế này thì phải. 

    Sao bạn lại nghĩ đến từ "dị ứng" nhỉ? Trước bạn có nhiều người làm đề tài print rồi, có người có "trà sữa" có người không, đủ hiểu đề tài print gần như bão hòa rồi. Đáng lý bạn nên chuyển hướng ua đề tài khác hơn là lại đi vào lối mòn đó. Từ xưa đến giờ bao nhiêu người mong kiếm tiền trên CV bằng lisp, VBA, C# .. rút cuộc cũng cuốn gói đi thôi, e rằng bạn cũng nằm trong số đó, cảnh báo để bạn cẩn thận thôi chứ hơi sức đâu "dị ứng" với ý tưởng kiếm ăn của bạn làm chi cho mệt xác!!

    • Like 1
    • Vote giảm 1

  3. 30 phút trước, VoHoan đã nói:

    Đúng như vậy, mình sửa đường tự nhiên nên  ít có trường hợp như trên nên ko phát hiện ra.

    Mà thuật toán là truy xuất thứ tự của phần tử trong list ls chứa tọa độ đỉnh mà nhỉ, hay cấu trúc của list ls có gì khác biệt không?

    Tại bác @cuongtk2 thay toàn bộ các đỉnh có toạ độ xy bằng x1y1, chứ không tính vị trí đỉnh n. Bác ý không nên dùng hàm subst.


  4. 7 phút trước, Nguyễn Phương Quang đã nói:

    À! Đó là do khi mình vẽ Cad mình toàn bật All Snap nên mình để code lisp như vậy! Có thể thay đổi Snap theo ý mình bạn ạ!

     

    Thay đổi snap bằng cách nào? Trước khi load lisp của bạn tôi chỉ bật vài ónap, load lisp xong chưa chạy líp của mình nó đã ra như vậy rồi thì chỉnh cách nào? Bạn đưa vlx lên thì muốn sửa code cung chẳng được .


  5. 15 phút trước, Nguyễn Phương Quang đã nói:

    Tặng bác Lisp Auto Reset OSNAP (Pro) v2.VLX này! Đảm bảo với bác nó sẽ tự bật lại Osnap sau khi bác thực hiện xong Lisp hoặc bỏ dở Lisp giữa chừng! Và khi dùng Lisp nó mới phát huy tác dụng!

    Auto Reset OSNAP (Pro) v2.rar

    Lisp của bác thật ra nó bật toàn bộ các osnap chứ kp giữ lại các osnap cũ. Vậy chẳng giải quyết dc gì.

    512053858_Screenshot2023-03-1617_04_00.png.619ca57ab9ce2c2c691504a46c133bb9.png


  6. Chắc lâu qúa chẳng tìm được link cũ, thôi bác thớt cứ giải luôn cho xong.

    Tôi cũng xin góp ý cách tìm tâm đg tròn tiếp tuyến :

    - vẽ đg thẳng góc với đg thẳng từ tâm vòng tròn, đó là bk vt tiếp tuyến

    - vẽ đg song song với đg thẳng từ tâm vòng tròn

    từ các yếu tố trên suy ra tâm  đg tròn tiếp tuyến.

     

    1.png.53584ed8a0aa5877ea9d9e03a72b1120.png


  7. 11 giờ trước, duy782006 đã nói:

    Mình có 1 bản vẽ không biết bi thay đổi biến gì mà độ rộng các đường MLINE cứ gấp đôi thông số Scale.

    Ví dụ:

    Command: ML
    MLINE
    Current settings: Justification = Zero, Scale = 200.00, Style = STANDARD
    Specify start point or [Justification/Scale/STyle]:
    Specify next point:
    Specify next point or [Undo]:

    Thì đo độ rộng nó ra thành 400. Bản này mình vẽ trên nền bản vẽ của người khác, các bản vẽ khác thì bình thường không bị lỗi trên. 

    Bác nào biết vụ này chỉ mình khắc phục với! Cám ơn!

    Bác không đưa file lên thì sao biết dc.

    Hoặc bác xem thông tin dxf của nó có gì   khác thường, cái đó chắc bác rành.


  8. Bảo đảm với bạn là dù là cao nhân cũng không hiểu bạn muốn gì. Muốn leader tại giao điểm thì bật osnap giao điểm chứ sửa lisp làm gì? Dân kỹ thuật thì trình bày cái gì cũng phải rõ ràng cụ thể, ít nhất cũng có file minh hoạ, chứ như này thì đợi hơi bị lâu đấy!!


  9. Vào lúc 23/12/2022 tại 01:41, doanquanghuy đã nói:

    Thank bạn!
    Mình gặp phải lỗi DT1 too many agruments thì làm sao sửa được ạ?
    Mình dùng AutoCAD Architecture 2020.
     

       Suy nghĩ kỹ thì thấy dòng báo lỗi "too many agruments" hơi bị vô lý, vì dòng đó chỉ xuất hiện khi hàm (Function) có nhiều thông số hơn so với định nghĩa (defun). Mà trong lisp bác Duy thì hoàn toàn ko có lỗi này. Còn nếu bảo do dòng (command ..) thì cũng ko đúng, vì nếu do command nó sẽ báo lỗi kiểu khác chứ kp "too many agruments".

       Do đó chắc bác @doanquanghuy có nhầm lẫn gì đó chăng mà không thấy bác ấy đưa hình chụp dòng command lên.

       Vậy cho nên bác Duy có thể yên tâm là lisp của bác không có lỗi gì hết. Hoặc bác thay lệnh hatch bằng "-Boundary" cũng hay. Lệnh hatch hơi bị khó chịu, và entmake hatch cũng không dễ dàng gì.

     

     


  10.  

    1 giờ trước, Duong Nhat Duy đã nói:

    Uh có lẽ vậy, tại mình gà nên chỗ nãy phải dùng command chứ ko làm khác đc :v, nhưng mà command nó cũng có highlight nên khá tiện.

    Mà giả sử vẫn là dùng command thì bạn có cách nào cải thiện lisp nó thích nghi với các đời cad khác nhau ko ?

      Tôi dùng 2015 thì lisp của bác ok không bị lỗi gì, nhưng câu hỏi của bác phải để người nào cài nhiều cad mới biết mà trả lời, chứ tôi thì không thể.

      Nói chung viết lisp mà có dòng command thì không thể dùng với mọi loại cad, chỉ có người dùng tự biết mà chỉnh sửa thôi.

      Hay bác thử dùng (vla-AddHatch (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-Acad-Object))) acHatchPatternTypePreDefined "ANSI31" :vlax-True)) xem sao.

     

    • Like 1

  11. 10 giờ trước, doanquanghuy đã nói:

    Thank bạn!
    Mình gặp phải lỗi DT1 too many agruments thì làm sao sửa được ạ?
    Mình dùng AutoCAD Architecture 2020.
     

    Chắc bị lỗi khi HATCH do khác version cad thôi mà, tức là do lỗi dòng (command "-HATCH" "P" "S" pt ""). Có thể CAD architect có lệnh HATCH khác với version cad trước. Bạn thử xem lệnh hatch của bạn có bao nhiêu thông số.

×