从我所有的谷歌搜索中,我知道这是一个常见的问题。。。但是我有点麻烦。
我插入了一个具有两个属性的动态块:TrunkDiameter和DripLine。LISP所做的是读取树干直径的点描述,滴水线也是测量结果。
假设TrunkDiameter(trunkDia)为2(与点代码分离),DripLine(Dist1)为10。使用以下代码,我得到了错误:
- (setq att (getvar 'attreq))
- (setvar 'attreq 1)
- (command "_insert" "tree" (list eastng northng) "" "" "")
- (setvar 'attreq att)
- (LM:setdynpropvalue ( (vlax-ename->vla-object (entlast)) "TrunkDiameter" trunkDia))
- (LM:setdynpropvalue ( (vlax-ename->vla-object (entlast)) "DripLine" Dist1))
-
- (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)
- )
- )
|