Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
conghoa

[Hỏi] Dynamic Block (array pramenter)

Các bài được khuyến nghị

Mình có 1 Dynamic Block ở file dưới. 

http://www.cadviet.com/upfiles/3/1969_pramenter_array.dwg

 

-Vấn đề mình muốn hỏi là có thể lập trình lisp để thay đổi được khoảng cách của Array Action mà không phải dùng lệnh bedit để chỉnh bên trong block đó không?

-Nếu được thì giúp em làm lisp này với nhé!

 

Thanks All!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tham khảo:

 

;----- EX: (PutDynPropValue obj "Distance1" 100)
;; Changes a Dynamic Block Property Value
;; Args: obj ~ Dynamic Block VLA-Object
;; prop ~ Property Name
;; val ~ New Value
;; Returns: New Value (val)
(defun PutDynPropValue (obj prop val)
;; Lee Mac ~ 07.04.10
(mapcar
(function
(lambda (x)
(if (eq (strcase prop) (strcase (vla-get-propertyName x)))
(vla-put-value x
(vlax-make-variant val
(vlax-variant-type (vla-get-value x)))))))
(vlax-invoke obj 'GetDynamicBlockProperties)) val)
 
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

Tham khảo:

 

;----- EX: (PutDynPropValue obj "Distance1" 100)
;; Changes a Dynamic Block Property Value
;; Args: obj ~ Dynamic Block VLA-Object
;; prop ~ Property Name
;; val ~ New Value
;; Returns: New Value (val)
(defun PutDynPropValue (obj prop val)
;; Lee Mac ~ 07.04.10
(mapcar
(function
(lambda (x)
(if (eq (strcase prop) (strcase (vla-get-propertyName x)))
(vla-put-value x
(vlax-make-variant val
(vlax-variant-type (vla-get-value x)))))))
(vlax-invoke obj 'GetDynamicBlockProperties)) val)
 

 

Cái này đâu có thay đổi được các khoảng cách của ARRAY ACTION (column offset) đâu bác.

Nó Chỉ thay đổi khoảng cách của cái "Distance1" mà thôi. 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
12 giờ trước, huunhantvxdts đã nói:

Đào lên hỏi xem có ai biết cách không???

Mọi người cho mình hỏi làm sao lấy được giá trị column offset array trong block

Command: (entget(cdr (assoc 330(entget(cdr (assoc 330(entget (car (entsel)))))))))


Select object: ((-1 . <Entity name: 241525eecb0>) (0 . "ACDBASSOCACTION") (330 . <Entity name: 241525eec80>) (5 . "1173") (100 . "AcDbAssocAction") (90 . 2) (90 . 0) (330 . <Entity name: 241525eec80>) (360 . <Entity name: 241525eecc0>) (90 . 1) (90 . 3) (90 . 3) (360 . <Entity name: 241525eecf0>) (360 . <Entity name: 241525eed00>) (360 . <Entity name: 241525eed10>) (90 . 0) (90 . 3) (360 . <Entity name: 241525eecd0>) (360 . <Entity name: 241525eece0>) (360 . <Entity name: 241525eed20>) (90 . 0) (90 . 9) (90 . 0) (1 . "AlignItems") (90 . 0) (90 . 1) (90 . 0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "AxesAngle") (90 . 2) (90 . 1) (40 . 1.5708) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "ItemSpacing") (90 . 1) (90 . 1) (40 . 3788.88) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Items") (90 . 0) (90 . 1) (90 . 4) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "LevelSpacing") (90 . 1) (90 . 1) (40 . 1.0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Levels") (90 . 0) (90 . 1) (90 . 1) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "RowElevation") (90 . 1) (90 . 1) (40 . 0.0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "RowSpacing") (90 . 1) (90 . 1) (40 . 4377.03) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Rows") (90 . 0) (90 . 1) (90 . 2) (330 . <Entity name: 0>) (330 . <Entity name: 0>))

 

(40 . 3788.88)

  • Like 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
19 phút trước, naturooo đã nói:

Command: (entget(cdr (assoc 330(entget(cdr (assoc 330(entget (car (entsel)))))))))


Select object: ((-1 . <Entity name: 241525eecb0>) (0 . "ACDBASSOCACTION") (330 . <Entity name: 241525eec80>) (5 . "1173") (100 . "AcDbAssocAction") (90 . 2) (90 . 0) (330 . <Entity name: 241525eec80>) (360 . <Entity name: 241525eecc0>) (90 . 1) (90 . 3) (90 . 3) (360 . <Entity name: 241525eecf0>) (360 . <Entity name: 241525eed00>) (360 . <Entity name: 241525eed10>) (90 . 0) (90 . 3) (360 . <Entity name: 241525eecd0>) (360 . <Entity name: 241525eece0>) (360 . <Entity name: 241525eed20>) (90 . 0) (90 . 9) (90 . 0) (1 . "AlignItems") (90 . 0) (90 . 1) (90 . 0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "AxesAngle") (90 . 2) (90 . 1) (40 . 1.5708) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "ItemSpacing") (90 . 1) (90 . 1) (40 . 3788.88) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Items") (90 . 0) (90 . 1) (90 . 4) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "LevelSpacing") (90 . 1) (90 . 1) (40 . 1.0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Levels") (90 . 0) (90 . 1) (90 . 1) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "RowElevation") (90 . 1) (90 . 1) (40 . 0.0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "RowSpacing") (90 . 1) (90 . 1) (40 . 4377.03) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Rows") (90 . 0) (90 . 1) (90 . 2) (330 . <Entity name: 0>) (330 . <Entity name: 0>))

 

(40 . 3788.88)

Cám ơn bạn nhiều để mình xem lại nhé

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
34 phút trước, naturooo đã nói:

Command: (entget(cdr (assoc 330(entget(cdr (assoc 330(entget (car (entsel)))))))))


Select object: ((-1 . <Entity name: 241525eecb0>) (0 . "ACDBASSOCACTION") (330 . <Entity name: 241525eec80>) (5 . "1173") (100 . "AcDbAssocAction") (90 . 2) (90 . 0) (330 . <Entity name: 241525eec80>) (360 . <Entity name: 241525eecc0>) (90 . 1) (90 . 3) (90 . 3) (360 . <Entity name: 241525eecf0>) (360 . <Entity name: 241525eed00>) (360 . <Entity name: 241525eed10>) (90 . 0) (90 . 3) (360 . <Entity name: 241525eecd0>) (360 . <Entity name: 241525eece0>) (360 . <Entity name: 241525eed20>) (90 . 0) (90 . 9) (90 . 0) (1 . "AlignItems") (90 . 0) (90 . 1) (90 . 0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "AxesAngle") (90 . 2) (90 . 1) (40 . 1.5708) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "ItemSpacing") (90 . 1) (90 . 1) (40 . 3788.88) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Items") (90 . 0) (90 . 1) (90 . 4) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "LevelSpacing") (90 . 1) (90 . 1) (40 . 1.0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Levels") (90 . 0) (90 . 1) (90 . 1) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "RowElevation") (90 . 1) (90 . 1) (40 . 0.0) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "RowSpacing") (90 . 1) (90 . 1) (40 . 4377.03) (330 . <Entity name: 0>) (330 . <Entity name: 0>) (90 . 0) (1 . "Rows") (90 . 0) (90 . 1) (90 . 2) (330 . <Entity name: 0>) (330 . <Entity name: 0>))

 

(40 . 3788.88)

Không đúng bạn ơi

(entget(cdr (assoc 330(entget(cdr (assoc 330(entget (car (entsel)))))))))
Select object: ((-1 . <Entity name: 201cf431810>) (0 . "TABLE") (2 . "BLOCK_RECORD") (330 . <Entity name: 0>) (5 . "1") (100 . "AcDbSymbolTable") (70 . 13))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×