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

huunhantvxdts

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

    857
  • Đã tham gia

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

  • Ngày trúng

    40

Bài đăng được đăng bởi huunhantvxdts


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

    Nhờ các bác viết 1 lisp quét chọn các nhóm đèn đã đánh số trên mặt bằng( số bất kỳ, nhóm có thể 1 đèn, 2 đèn, 3 đèn...). Sau thao tác quét chọn các nhóm đèn trên mặt bằng thì ghi tên lên mặt bằng .

     

    Ví dụ: có 3 nhóm đèn( 3 đèn số 34; 3 đèn số 35; 3 đèn số 42) được điều khiển bởi 1 công tắc 3 hạt. E cần ghi tên 3 nhóm đèn đó lên mặt bằng dạng "[34,35,42]" theo thứ tự từ bé đến lớn

     

    Em có gửi file đính kèm! Các bác xem giúp e với ạ! E cảm ơn!

    NHOMDEN.dwg

    add zalo trao đổi thêm nhé (cần bản vẽ thực tế)

    zalo: 0848.998.045


  2. 9 giờ trước, mrbreadking đã nói:

    em có 1 vấn đề nhờ các cao nhân viết giúp e cái lisp ạ.

    trong file test em gửi có 1 bảng

    ở trong hàng: nhập số thì mình nhập tay

    ở trong hàng: kết quả là tổng cộng dồn của hàng ở trên

    e có sử dụng lisp cộng các số rồi nhưng đôi khi do e không cẩn thận nên sửa số ở bảng mới lại dính thêm ở bảng cũ nên sai.

    vì vậy mới nhờ các cao nhân giúp đỡ, e xin gửi các bác ly cafe ạ

    test.dwg

    Add zalo để trao đổi thêm nhé 0848.998.045


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

    Lisp này nếu dùng block att thì bản vẽ sẽ gọn đẹp hơn là dùng text với justify left. Block có thể gồm luôn 2 Attdef, point và circle sẽ không bị rời rạc như hiện nay.

    Cái này chủ yếu người ta lấy cao độ để chuyển vào phần mềm thì phải.


  4. 4 giờ trước, tranloi12c đã nói:

    chuyển point thành text rồi dùng lisp lọc text chồng đè của bác gia_bach là xong rồi nối text làm gì cho sai ra https://www.cadviet.com/forum/topic/23110-viết-giúp-lisp-xoá-text-trong-khoảng-nhất-định/?tab=comments#comment-104545

     

    Thế bạn không đọc bản vẽ rồi. Tại một vị trí có 3 điểm point 3 cao độ khác nhau. Trong 3 cao độ đó chưa chắc đúng với cao độ text đã thể hiện, Nên giải pháp người ta đưa ra là nối text lại với nhau là chắc nhất. 


  5. 1 giờ} trướ}c, ngohung104 đã nói:

    Thank bạn đã giúp đở nhé. Nhưng đối với những tập dử liệu lớn thì lâu quá, m bị treo máy luôn. Và thêm nửa là vẫn có kha khá tọa độ bị sai bạn à.

    Sửa lại cho bạn nhưng kết quả nó phụ vẫn phụ thuộc vào khoảng cách text và tâm vòng tròn nhé

    (defun c:GTEXT (/ luubatdiem spc tapchon tapdiem lstss text gtricaodo phannguyen p1
    				phapphan gtridien diemtam)
    (command "undo" "BE")
    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)
    (setvar "CMDECHO" 0)
    ;;;;;;;;;;;;;;;;;;;;;;;
    (setq spc (vla-get-ModelSpace (vla-get-ActiveDocument(vlax-get-Acad-Object))))
    
    (command "-layer" "n" "Caodo" "c" 4 "Caodo" "")
    (setq h (getreal "\nNhap cao chu:"))
    (prompt "\nchon tap diem Point Text")
    (setq tapchon (acet-ss-to-list (ssget (list (cons 0 "CIRCLE")))))
    (setq tapdiem (vl-remove-if-not '(lambda (x) (= (cdr (assoc 0 (entget x))) "CIRCLE")) tapchon))
    ;(setq lstss (vl-remove-if-not '(lambda (x) (= (cdr (assoc 0 (entget x))) "TEXT")) tapchon))
    (foreach ent tapdiem
    (setq p1 (cdr (assoc 10 (entget ent))))
    (setq p2 (polar p1 (* 3 (/ pi 4)) 3))
    (setq p3 (polar p1 (* 1 (/ pi -4)) 3))
    (vla-ZoomCenter (vlax-get-acad-object) (vlax-3D-point p1) 200)
    (setq lstss (acet-ss-to-list (ssget  "C" p2 p3 (list (cons 0 "TEXT")))))
    (setq text (timtext p1 lstss))
    (if text
    (progn
    (setq gtricaodo (vl-sort (list (cadr text) (caddr text)) '(lambda(x y) (< (car (car x)) (car (car y))))))
    (setq phannguyen (cdr (car gtricaodo)))
    (setq phapphan (cdr (cadr gtricaodo)))
    (setq gtridien (strcat phannguyen "." phapphan))
    (setq diemtam (car text))
    (vla-put-Layer (vla-addtext spc gtridien (vlax-3d-point diemtam) h) "Caodo")
    )
    )
    )
    (setvar "osmode" luubatdiem)
    (setvar "CMDECHO" 1)
    (command "undo" "End")
    )

     

    • Like 1

  6.  

    3 giờ trước, ngohung104 đã nói:

    Cảm ơn bạn đã quan tâm. Mình xin gửi lại bạn file đầy đủ hơn.

    Vidu_Noitext_2.dwg

    Mình xét khoảng cách min đến tâm vòng tròn nên sẽ có 1 số trường hợp text điểm này nhưng gần vòng tròn điểm kia

    với lại với tập điểm lớn như file bạn gửi sẽ chạy mất nhiều thời gian (Do trình chỉ xử lý được đến này thôi)

    Giải pháp chọn từng vùng để chạy

    Bạn dùng tạm cái này nhé!

    (defun timtext (point lsttext /)
    (setq lstcaodo (mapcar '(lambda (e) (cons (cdr (assoc 10 (entget e))) (cdr (assoc 1 (entget e))))) lsttext))
    (setq kcminpoint (vl-sort lstcaodo '(lambda(x y / tmx tmy) (setq tmx (distance (list (car (car x)) (cadr (car x)) 0) point)  tmy (distance (list (car (car y)) (cadr (car y)) 0) point))
                     (< tmx tmy))))
    (setq pointtim (list point (car kcminpoint) (cadr kcminpoint)))
    )
    (defun c:GTEXT (/ luubatdiem spc tapchon tapdiem lstss text gtricaodo phannguyen p1
    				phapphan gtridien diemtam)
    (command "undo" "BE")
    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)
    (setvar "CMDECHO" 0)
    ;;;;;;;;;;;;;;;;;;;;;;;
    (setq spc (vla-get-ModelSpace (vla-get-ActiveDocument(vlax-get-Acad-Object))))
    
    (command "-layer" "n" "Caodo" "c" 4 "Caodo" "")
    (setq h (getreal "\nNhap cao chu:"))
    (prompt "\nchon tap diem Point Text")
    (setq tapchon (acet-ss-to-list (ssget (list (cons 0 "CIRCLE,TEXT")))))
    (setq tapdiem (vl-remove-if-not '(lambda (x) (= (cdr (assoc 0 (entget x))) "CIRCLE")) tapchon))
    (setq lstss (vl-remove-if-not '(lambda (x) (= (cdr (assoc 0 (entget x))) "TEXT")) tapchon))
    (foreach ent tapdiem
    (setq p1 (cdr (assoc 10 (entget ent))))
    (setq text (timtext p1 lstss))
    (setq gtricaodo (vl-sort (list (cadr text) (caddr text)) '(lambda(x y) (< (car (car x)) (car (car y))))))
    (setq phannguyen (cdr (car gtricaodo)))
    (setq phapphan (cdr (cadr gtricaodo)))
    (setq gtridien (strcat phannguyen "." phapphan))
    (setq diemtam (car text))
    (vla-put-Layer (vla-addtext spc gtridien (vlax-3d-point diemtam) h) "Caodo")
    )
    (setvar "osmode" luubatdiem)
    (setvar "CMDECHO" 1)
    (command "undo" "End")
    )

     

    • Like 1

  7. 38 phút trước, ngohung104 đã nói:

     

    Đúng như bạn nói là có cao độ Z rồi nhưng

    1: Mỗi tâm vòng tròn đều có 1 cao độ đúng và 1 cao độ Z=10

    Mình đả thử cách xóa toàn bộ point có Z = 10 thì những điểm có cao độ đúng bằng 10 sẽ bị mất cao độ

    2: Có nhiều vòng còn có đến 3, 4 cao độ khác nhau và không có giá trị nào đúng  trong đó.

     

    Cần 1 bản vẽ thực tế, với bản vẽ mẫu với 1 vài cao độ như này thì việc nối không khó. Các bạn đưa bản mẫu quá lý tưởng đến khi vào thực tế text nó chồng lên nhau lại kêu sao lisp chạy không đúng rồi lại yêu cầu người viết bổ sung này nọ, rất khó cho người viết.

    • Like 1

  8. 2 giờ trước, diennv50 đã nói:

    Cảm ơn bạn nhiều. Tuy nhiên lisp của bạn chỉ đúng với các đường song song thẳng đứng, nằm ngang vuông góc với nhau, lại không thể dùng cho các đường thẳng chéo nhau. (các vùng kín hợp với nhau có thể tạo thành đa giác nhiều hơn 4 cạnh hoặc hình thoi, hình thang, tam giác ....)

    Mình thấy các bạn yêu cầu thì đưa ra các trường hợp thật lý tưởng, xong có người viết rồi thì lại áp dụng vào thực tế toàn trên trời rơi xuống. Thật khổ cho người nào hỗ trợ. Bạn nên đưa file thực tế của bạn đang làm rồi nhờ người nào đó có thể hỗ trợ hoặc gửi họ ít phí họ hỗ trợ luôn

    • Vote tăng 1

  9. 6 giờ trước, ngaphile đã nói:

    Mình có mặt cắt ngang. Do chiều dày đắp K95 từng lớp khác nhau và mình đã vẽ bằng thủ công các lớp lên MCN bằng Line. Giờ mình muốn lấy cao độ, khoảng cách của điểm đầu và cuối so với tim và xuất ra exel với số lượng mặt cắt rất nhiều. ACE có lisp phù hợp cho mình xin ah. Xin cảm ơn!

    xem đoạn cuối nhé

    https://www.youtube.com/watch?v=T3GBr3VhJr0

    • Like 1

  10. Vào lúc 9/9/2021 tại 09:01, vietanh2018 đã nói:

    Các bạn vào trang youtube bằng cách click vào vị trí dưới đây để download nhé.

    image.png.c1b979fb92e8d4aac8f487bfc4b9e4c0.png

    Test thấy lỗi như thế này!!

    mình dùng cad2018 nhé

     

    Command: NETLOAD
    Cannot load assembly. Error details: System.IO.FileLoadException: Could not load file or assembly 'file:///C:\TLKT\lenh\XPR_PlotPro.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
    File name: 'file:///C:\TLKT\lenh\XPR_PlotPro.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
       at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
       at System.Reflection.Assembly.LoadFrom(String assemblyFile)
       at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
       at loadmgd()


  11. 37 phút trước, anhGeodesy đã nói:

    @cuongtk2

    Cảm ơn Bác đã quan tâm. em ứng dụng vào để tạo text tại tâm Diện tích hàng loạt, tạo Boundary hàng loạt ....

    Bác có tg giúp em với nhé. 

    Tham khảo lisp của bác Doan Duy Hung nhé:

    https://www.cadviet.com/forum/topic/93584-nhờ-viết-lisp-hatch-vùng-kín-của-các-đối-tượng-giao-nhau/?page=2


  12. 2 giờ trước, benanphal93 đã nói:

    các bác ơi có bác nào đã từng làm rồi giúp em với ạ!

      Hiện tại em đang có một cutting plan xếp trên 1 khổ tôn có rất nhiều chi tiết..do em phải ra file cutting cho máy CNC nên phải bóc riêng từng chi tiết ra thành 1 file riêng lẻ...các chi tiết này đều đã được đặt sẵn text là tên chi tiết nằm trên chi tiết đó trong cutting..nếu làm thủ công thì lâu quá ạ..có bác nào giúp em với ạ!

    Em cảm ơn ạ!

    Để được mọi người giúp đỡ, cái tốt thiểu là bạn phải đưa file cad hoặc chí ít là hình ảnh. Bạn làm như ai cũng biết cái bạn đang nói.

     


  13. 6 phút trước, moitapchoicad đã nói:

    Nhìn clip bác DungNguyen685 trên cũng vẫn mang tính thủ công vì phải mất time chọn từng đối tượng.

    Chỉ cần chon 2 khung của sổ 1 và 2 là ra luôn thì mới là trọn vẹn.

    E thì cũng có giải pháp rồi đó là thiết lập 2 file batch name block cũ và mới sau đó chạy script (Thủ công nông dân vậy) 

    Vâng nhìn vào là biết dùng để làm việc. Chẳng dấu gì các bác em có 1 project làm nesting tôn tấm thay vì làm thủ công em mới có ý tưởng vậy ( mặc dù yêu cầu đang nhờ các bác trên nó chỉ là 1 công đoạn nhỏ trong các cv đang làm thôi).

    Nếu các bác có nhã ý giúp còn không thì tự em mày mò vậy :D

     

     

    Bạn xem clip mà không hiểu rồi. thế thì về làm thủ công là phải rồi

    Người ta quét 1 cái là xong luôn rồi còn ngồi đó mà chọn từng khung cửa sổ

     

    • Like 1
    • Vote tăng 1

  14. 1 giờ} trướ}c, canhdieuvang đã nói:

    em muốn xuất khoảng cách giữa các lỗ khoan và hàng khoan kèm theo số thứ tự lỗ khoan từ cad ra excel thì có slips nào dùng được không ạ? hoặc ai viết được giúp em vs ạ. như file e đăng là e muốn xuất được khoảng cách giữa các lỗ và cao độ các lỗ. em nhập tay hàng ngày nhục quá. nhờ ace cho em mở mang tầm mắt với ạ

     

    hcnm 86. 314.302 dwg.dwg

    Cần xem thêm cách sắp xếp dữ liệu xuất ra nữa bạn nhé

    liên hệ zalo: 0848.998.045


  15. Vào lúc 9/7/2021 tại 17:04, Trương Chí Thành đã nói:

    Kính gửi toàn thể anh, em trong group. Mình có 1 file cad và 1 file excel (đính kèm).  Đây là file bản vẽ và số liệu hoàn công đã hoàn thành nhưng làm rất thủ công dù mình có sử dụng lisp vẽ mắt cắt ngang để vẻ đường pline hoàn công rồi dùng lênh move từng mặt cắt. Sau đó dùng lisp ghi KC lè và cao độ. Giờ nhờ ae trong nhóm co cách nào khi minh chọn text lý trình thi tự động vẽ đường pline hoàn công cùng với ghi KC lẽ vè cao độ.

    hoi cadviet.rar

    Thấy file dữ liệu thiếu khoảng cách

    có thể liên hệ mình zalo: 0848998045 

×