您好,我正在使用此代码将块比例因子x、y、z更改为1。这个程序在我所有的积木上都不能正常工作,我不知道为什么!!我需要修改一下代码。我想用窗口选择所有块,然后更改比例因子。我相信这个改变会解决这个问题。
谁能帮忙吗。谢谢
- (defun C:BS ( / SS ent vla-obj )
- (vl-load-com)
- (if (setq SS (ssget "X" (list (cons 0 "INSERT"))))
- (repeat (setq i (sslength SS))
- (setq ent (ssname SS (setq i (1- i))))
- (setq vla-obj (vlax-ename->vla-object ent))
- (if
- (and
- (or
- (not (= (vla-get-XScaleFactor vla-obj) 1.0))
- (not (= (vla-get-YScaleFactor vla-obj) 1.0))
- (not (= (vla-get-ZScaleFactor vla-obj) 1.0))
- )
- ; (vlax-get-IsDynamicBlock vla-obj :vlax-true)
- (vlax-property-available-p vla-obj 'EffectiveName)
- (member (vlax-get vla-obj 'EffectiveName)
- '("AnnotPoint" "AnnotRepers" "AnnotKORYFES" "Annotstation" "AnnotTrigonom" "AnnotKOKAEK" "AnnotKOROT" "AnnotARID1" "AnnotAROT1" "AnnotDEH1" "Annotdvelos" "AnnotEikonastasi" "AnnotFANARI" "Annotkrounos" "AnnotMPASKETA" "AnnotOTE1" "AnnotSHMA1" "AnnotSHMA2" "AnnotSHMA3" "Annotstathmi" "Annotstayros" "annotTREE1" "annotTREE2" "annotTREE3" "annotTREE4" "annotTREE5" "annotTREE6" "annotTREE7" "annotTREE8" "annotTREE9" "annotTREE10" "annotTREE11" "annotTREE12" "annotTREE13" "AnnotNORTH" "Annotodsta" "Annotodtrig" "Annotvana" "Annotvelos")
- )
- )
- (progn
- (vla-put-XScaleFactor vla-obj 1.0)
- (vlax-put-property vla-obj 'YScaleFactor 1.0)
- (vlax-put vla-obj 'ZScaleFactor 1.0)
- )
- )
- );repeat
- )
- (vla-Regen (vla-get-ActiveDocument (vlax-get-acad-object)) acActiveViewport)
- (princ)
- );defun
|