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

tannguyen291

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

    441
  • Đã tham gia

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

  • Ngày trúng

    41

Cộng đồng

145 (tàm tạm)

2 Người theo dõi

About tannguyen291

  • Cấp bậc
    biết lệnh divide

Khách truy cập Tiểu sử gần đây

Khối khách truy cập gần đây đã bị vô hiệu và không được hiển thị cho người dùng khác.

  1. tannguyen291

    Hỏi về Lisp (thuật toán, ý tưởng, coding,...)

    dump luôn trả về nil. lệnh này chủ yếu để người dùng theo dõi các thông tin của đối tượng để nghiên cứu thôi. nó giống vlax-dump-object đó
  2. tannguyen291

    Hỏi về Lisp (thuật toán, ý tưởng, coding,...)

    Mình quên mất 2 hàm dumpallproperties và getpropertyvalue tại ít dùng quá nên không nghĩ đến. không ngờ lại có tác dụng Dùng dump là biết ename có các dữ liệu nào đi kèm thôi
  3. tannguyen291

    Hỏi về Lisp (thuật toán, ý tưởng, coding,...)

    Mình đang nghiên cứu ra rồi nhé. sử dụng hàm (getpropertyvalue [ename] [property]) property là string có dạng : "AcDbDynBlockProperty" + "distance..." nếu có giá trị là hiện nếu error là ẩn. đi kèm với cặp lệnh vl-catch-all-error-p vl-catch-all-apply thì ok luôn. (defun c:test (/ ent lst lstcheck lstparavisible ) (setq ent (car (entsel)) lst (LM:getdynprops (vlax-ename->vla-object ent)) lst (vl-remove-if-not '(lambda (x) (eq 'REAL (type (cdr x)))) lst) lst (mapcar '(lambda (x) (strcat "AcDbDynBlockProperty" (car x)) ) lst) lstcheck (mapcar '(lambda (x) (vl-catch-all-apply 'getpropertyvalue (list ent x))) lst) lstparavisible (mapcar '(lambda (a b) (if (not (vl-catch-all-error-p b)) (cons (substr a 21) b) ) ) lst lstcheck ) ) (vl-remove nil lstparavisible) ) (defun LM:getdynprops (blk) (mapcar '(lambda (x) (cons (vla-get-propertyname x) (vlax-get x 'value)) ) (vlax-invoke blk 'getdynamicblockproperties) ) )
×