你好
我的程序采访了用户,并将信息发送到带有属性的动态块,我有一些问题
1.如何与属性通信,以便我可以设置它们的文本?
2.如何消除插入块的默认行为,即在实际插入块之前先设置属性。
为了您的方便,我已经附上了这个街区
谢谢
谢伊
- (vl-load-com)
- (defun C:tst (/ stpt edpt vla-blk ss)
- (if (setq stpt (getpoint "\nclick start point"))
- (if (setq edpt (getpoint stpt "\nclick end point"))
- (progn
- (command "-insert" "re1" stpt "1" "" "0" "" "")
- (setq vla-blk (vlax-ename->vla-object (entlast)))
- (setq ss (ssadd (entlast)))
- (sssetfirst nil ss)
- (LM:setdynpropvalue vla-blk "Pin Length" 15)
- (LM:setdynpropvalue vla-blk "Rebar Length" 600)
- (LM:setdynpropvalue vla-blk "Angle" (angle stpt edpt))
- )
- )
- )
- )
- ;; Set Dynamic Block Property Value - Lee Mac
- ;; Modifies the value of a Dynamic Block property (if present)
- ;; blk - [vla] VLA Dynamic Block Reference object
- ;; prp - [str] Dynamic Block property name (case-insensitive)
- ;; val - [any] New value for property
- ;; Returns: [any] New value if successful, else nil
- (defun LM:setdynpropvalue ( blk prp val )
- (setq prp (strcase prp))
- (vl-some
- '(lambda ( x )
- (if (= prp (strcase (vla-get-propertyname x)))
- (progn
- (vla-put-value x (vlax-make-variant val (vlax-variant-type (vla-get-value x))))
- (cond (val) (t))
- )
- )
- )
- (vlax-invoke blk 'getdynamicblockproperties)
- )
- )
插入_块。LSP |