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

trungkien8338

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

    11
  • Đã tham gia

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

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


  1. Vào lúc 9/8/2022 tại 18:49, ngokiet đã nói:

    Như lisp bạn viết thì đổi dòng 

     (princ (vlax-get-property (nth i sal) 'TextString ))

    Thành (princ (cdr(assoc 1 (entget(vlax-vla-object->ename (nth i sal))))))

     

     

    Còn mỉnh thì viết như vậy

    
    (defun c:hh(/ en eg)
      (setq en (car(entsel)))
      (while (eq (cdr (assoc 0 (setq en (entnext en)
    				 eg (entget en))))
    	     "ATTRIB")
        (princ (strcat (cdr (assoc 1 eg)) "\n")))
      (princ))

     

    cảm ơn bạn, mình đã làm được rồi.


  2. Vào lúc 7/8/2022 tại 17:13, Doan Nguyen Van đã nói:

    Đây bác xem

    Untitled.png

    (defun c:hh()
        (setq obj (vlax-ename->vla-object(car (entsel)))) ; đối tượng được chọn là một block có nhiều attribute
         ;lay attribute
        (setq sal (vlax-safearray->list (vlax-variant-value (vla-getattributes obj))))
        (setq i 0)
        (repeat (length sal)
            (princ (vlax-get-property (nth i sal) 'TextString )) ; chỗ này lấy ra phần tiếng việt bị lỗi font
            (princ "\n")
            (setq i (+ 1 i))
        )
        
    )

    NHỜ CÁC BÁC XEM GIÚP.


  3. 2 giờ trước, ngokiet đã nói:

    Không phải khác font hay lỗi đâu. Chắc bác đọc text bằng vla/vlax nên không đọc được text unicode thôi. Nếu cad 2022 trở lên thì có thể không bị lỗi này

    đúng rồi bạn, mình đọc giá trị của attribute bằng autolisp. vậy là không có lisp nào khắc phục được lỗi này sao bạn.


  4. Xin chào các anh chị.

    Em mới học autolisp, em có tạo cái block chứa attribute ( giá trị attribute thứ 1 là " tầng 1") và em dùng autolisp lấy giá trị attribute đó  để gán vào attribute thứ 2 thì nó ra kết quả là "t?ng 1" ở attribute thứ 2, nó bị lỗi font. Có anh chị nào giúp em sửa lỗi này với?


  5. có bạn nào biết lập trình trong revit structure không chỉ mình với? có tài liệu share cho mình với?

    sao trong revit structure cái phần tool->macros->macro thì không click vào được (nó không sáng lên để cho mình click), có bạn nào biết lý do và cách khắc phục không, chỉ mình với

    cảm ơn các bạn


  6. Để quản lý bản vẽ tốt hơn mình muốn thêm vào một đối tượng một tên mà không trùng nhau với mỗi đối tượng trong bản vẽ và không đổi khi đóng mỡ bản vẽ (giống như HANDLE), mình nghe nói kiểu dữ liệu mở rộng trong cad có thể làm dc. Vậy bạn nào biết giúp mình với. (dùng lisp trong acad).

    Vd mình có list của một text như sau: ((-1 . ) (0 . "TEXT") (330 .

    name: 7ef8fcf8>) (5 . "17302") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8

    . "THUAPC") (6 . "Continuous") (100 . "AcDbText") (10 614121.0 1.19654e+006

    0.0) (40 . 2.4) (1 . "89-53") (50 . 0.698132) (41 . 1.0) (51 . 0.0) (7 .

    "Vavon") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 .

    "AcDbText") (73 . 0))

    Mình muốn thêm chuỗi (1000 . "doituong 1") vao cuối chuỗi trên

    Kết qủa mình mong muốn là: ((-1 . ) (0 . "TEXT") (330 .

    name: 7ef8fcf8>) (5 . "17302") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8

    . "THUAPC") (6 . "Continuous") (100 . "AcDbText") (10 614121.0 1.19654e+006

    0.0) (40 . 2.4) (1 . "89-53") (50 . 0.698132) (41 . 1.0) (51 . 0.0) (7 .

    "Vavon") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 .

    "AcDbText") (73 . 0) (1000 . "doituong 1") )

    Cảm ơn các bạn nhe.


  7. Mình mới học autolisp. Có vấn đề này không biết giải quyết sao . Vấn đề của mình như sau: mình muốn tạo ra một dynamic bolck ( chỉ cần strech một hình chữ nhật cho nó đơn giản) và mình muốn sử dụng ngôn ngữ autolisp để viết.

    Mong các bậc tiền bối viết giúp mình đoạn code đó với.

    (để đơn giản và dễ hiểu, mình lấy vd với một hình chữ nhật)

    Cảm ơn mọi người rất nhiều

    Xin mail cho mình theo địa chỉ : nguyentrungkienxd@gmail.com (hoặc trungkien8338@yahoo.com)

×