 - ; (DynamicProps (car (entsel)) "Pipe length" nil) get the Pipe length from a dynamic block
- ; (DynamicProps (car (entsel)) "" nil) get the properties from a dynamic block
- ; (DynamicProps (car (entsel)) "Pipe length" 2000.0) set the properties from a dynamic block
- (defun DynamicProps (ename propname value / obj prpL prp)
- (vl-load-com)
- ;(setq ename (car (entsel)))
- (setq obj
- (if (= (type ename) 'VLA-OBJECT)
- ename
- (vlax-ename->vla-object ename)
- )
- )
- (if vla-getdynamicblockproperties
- (setq prpL (vlax-invoke obj 'getdynamicblockproperties))
- )
- ;(setq propname "查寻")
- ;(setq value "20")
- (setq return
- (if (setq prp (vl-remove-if-not (function (lambda(x)
- (= (vlax-get-property x 'PropertyName) propname)
- )) prpL))
- (mapcar
- (function (lambda(v)
- (if (and (/= value nil) (vlax-property-available-p v 'Value) (/= (type value)'LIST))
- (progn (vlax-put-property v 'Value value) (vla-update obj))
- )
- (if (and (vlax-property-available-p v 'AllowedValues) (vlax-get v 'AllowedValues))
- (list (vlax-get v 'Value) (vlax-get v 'AllowedValues))
- (vlax-get v 'Value)
- )
- ))
- prp
- )
- (mapcar
- (function (lambda(v)
- (list (vla-get-propertyName v)(vlax-get v 'Value) v)
- ))
- prpL
- )
- )
- )
- return
- )
- (DynamicProps (car (entsel)) "距离" nil)
- (DynamicProps (car (entsel)) "" nil)
- (DynamicProps (car (entsel)) "查寻" "50")
- (DynamicProps (car (entsel)) "可见性" "2")
- (= (vlax-get-property (nth 12 prpL) 'PropertyName) propname)
- (vlax-property-available-p (nth 0 prp) 'Value)
- (vlax-put-property (nth 0 prp) 'Value value)
- (vlax-property-available-p (nth 0 prp) 'AllowedValues)
- (vlax-get (nth 0 prp) 'AllowedValues)
- (vla-get-propertyName (nth 0 prpL))
- (vlax-get (nth 0 prpL) 'Value)
- (length return)
- (assoc "查寻" return)
- (DynamicProps (car (entsel)) "查寻" 50)
|