satishrajdev 发表于 2022-7-5 17:28:01

动态块参数问题

你好
 
我创建了小lisp,它插入块并将其动态参数数据添加到块中。。。但当我将动态特性应用于块时,参数应用于块,但块几何体不会更改,当我将相同的参数从属性窗口放置到块时,它也会更改块几何体。。。为什么我要面对这个问题?
 
块图纸和代码附于此处
 
动态块01。图纸
 
(defun c:test (/ a b dp)
(setq        dp '(("V" . "R-R")
   ("SCALE" . 15.0)
   ("SPAN" . 2.0)
   ("HEIGHT" . 2.5)
   ("LL" . 15.0)
   ("LR" . 15.0)
   ("W" . 0.21)
   ("T" . 0.21)
   ("F" . 0.5)
   ("ANG" . 1.72788)
   ("ANGL" . 1.51844)
   ("ANGR" . 1.5708)
   ("HWW" . 0.38)
   ("CFELE" . 164.4)
   ("CF1" . 0.5)
   ("CF3" . 0.5)
   ("CF5" . 0.5)
   ("CF7" . 0.5)
   ("CF2" . 0.75)
   ("CF4" . 0.75)
   ("CF6" . 0.75)
   ("CF8" . 0.75)
   ("WA1" . 80.0)
   ("WA2" . 70.0)
   ("WA3" . 70.0)
   ("WA4" . 80.0)
   ("WL1" . 0.5)
   ("WL2" . 0.5)
   ("WL3" . 0.5)
   ("WL4" . 0.5)
   ("WT" . 0.4)
   ("TW1" . 0.6)
   ("TW2" . 0.6)
   ("TW3" . 0.6)
   ("TW4" . 0.6)
   ("FW1" . 1.6)
   ("FW2" . 1.4)
   ("FW3" . 1.4)
   ("FW4" . 1.4)
   ("RWL1" . 3.5)
   ("RWL2" . 2.5)
   ("RWL3" . 2.5)
   ("RWL4" . 2.5)
   ("KW1" . 0.6)
   ("KW2" . 0.4)
   ("KW3" . 0.4)
   ("KW4" . 0.4)
   ("LL-T" . 15.0)
   ("AngL-T" . 1.41372)
   ("LR-T" . 15.0)
   ("AngR-T" . 4.55531)
   ("AngL-SEC" . 1.46608)
   ("AngR-SEC" . -0.15708)
   ("LLT" . 10.0)
   ("LRT" . 652.0)
   ("ANG1" . 1.22173)
   ("ANG2" . 1.22173)
   ("ANG3" . 1.22173)
   ("ANG4" . 1.22173)
    )
)
(if (setq a (getpoint "\nSpecify Point to Plot Block : "))
   (progn
   (setq b (vla-insertblock
        (vla-get-modelspace
          (vla-get-activedocument (vlax-get-acad-object))
        )
        (vlax-3d-point a)
        "O-PL-GA-1"
        1
        1
        1
        0
      )
   )
   (mapcar '(lambda (x)
       (vl-some
           '(lambda (y)
              (if (eq (strcase (vla-get-propertyname x))
                      (strcase (car y))
                  )
                (vla-put-value x (vlax-make-variant (cdr y)))
              )
          )
           dp
       )
       )
      (vlax-invoke b 'getdynamicblockproperties)
   )
   )
)
(princ)
)

kpblc 发表于 2022-7-5 18:42:49

尝试执行(vla更新b)
页: [1]
查看完整版本: 动态块参数问题