Code:
;___________________________________________________________________________________________________________|
;
; Written By: Peter Jamtgaard C.E., P.E., S.E. copyright 2018 All Rights Reserved
;___________________________________________________________________________________________________________|
;
; Any use by unauthorized person or business is strictly prohibited.
;___________________________________________________________________________________________________________|
;___________________________________________________________________________________________________________|
;
; General Function Header List
;___________________________________________________________________________________________________________|
; Function List Argument1 Argument2 Arguement3
;* (DynamicBlockPropertyPut objSelection strWCProperty sngValue)
;* Function to change (put) dynamic block property values
;* (ErrorTrap symFunction)
;* Function to trap errors
;$ End Header
;___________________________________________________________________________________________________________|
;
; Function to change (put) dynamic block property values
;___________________________________________________________________________________________________________|
(defun DynamicBlockPropertyPut (objSelection strWCProperty sngValue / lstDynamicBlockProperties objDynamicBlockProperty)
(if (and (= (type objSelection) 'vla-object)
(vlax-property-available-p objSelection "isdynamicblock")
(= (vla-get-isdynamicblock objSelection) :vlax-true)
(setq lstDynamicBlockProperties (vlax-invoke objSelection "getdynamicblockproperties"))
)
(foreach objDynamicBlockProperty lstDynamicBlockProperties
(if (wcmatch (strcase (vla-get-propertyname objDynamicBlockProperty)) (strcase strWCProperty))
(errortrap '(vla-put-value objDynamicBlockProperty sngValue))
)
)
)
)
;___________________________________________________________________________________________________________|
;
; Function to trap errors
;___________________________________________________________________________________________________________|
(defun ErrorTrap (symFunction / objError result)
(if (vl-catch-all-error-p
(setq objError (vl-catch-all-apply
'(lambda (X)(set X (eval symFunction)))
(list 'result))))
nil
(if result result 'T)
)
)
(princ)
Code:
(DynamicBlockPropertyPut obj "Distance1" 180.0)
where obj was a valid vla-object
Worked for me...
Also I saw a lot of typos in LM's code... He is usually good about testing his stuff... Maybe it copied wrong...