samifox 发表于 2022-7-5 22:57:52

将数据发送到内部属性

你好
 
我的程序采访了用户,并将信息发送到带有属性的动态块,我有一些问题
 
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 Dynamic Block Reference object
;; prp - Dynamic Block property name (case-insensitive)
;; val - New value for property
;; Returns: 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

pBe 发表于 2022-7-5 23:39:37

 
对于第二项,由于您使用命令“插入”区域,请查看ATTREQ系统变量。
 
顺便说一句:附加块在哪里?

samifox 发表于 2022-7-6 00:17:20

顺便说一句:附加块在哪里?
钢筋插入。图纸
页: [1]
查看完整版本: 将数据发送到内部属性