fengyu6913 发表于 2024-8-20 00:17:29

如何识别被包围的块(VF)的 XYZ比例?

如何识别被包围的块(VF)的 XYZ比例?


详见样图内描述,谢谢!

xtjd 发表于 2024-8-20 00:17:30




ssyfeng 发表于 2024-8-20 08:46:34

X比例:(cdr (assoc 41 (entget (car (entsel "\n选择块:")))))
Y比例:(cdr (assoc 42 (entget (car (entsel "\n选择块:")))))
Z比例:(cdr (assoc 43 (entget (car (entsel "\n选择块:")))))

fengyu6913 发表于 2024-8-20 10:55:36

感谢大佬们帮助与分享,使用与学习双双受益!

fengyu6913 发表于 2024-8-23 12:35:11

xtjd 发表于 2024-8-20 00:17


大佬,如何把 这个函数做成子函数,然后把 xyz 比例返出来给主函数用?

xtjd 发表于 2024-8-23 13:36:21

;(GetFrameScale(getpoint))
;通过图框内的某个点坐标返回图框XYZ比例表
(defun GetFrameScale(p1 / ss)
(if(setq ss(ssget "A" '((0 . "INSERT")(2 . "VF"))))
    (progn
      (vl-some
      '(lambda(x / pp ps)
         (setq
             ps(xtjd:get-objboxpts x)
             pp(list(cadr ps)p1(car ps))
         )
         (if(and(apply '>=(mapcar 'car pp))(apply '>=(mapcar 'cadr pp)))
             (list
               (vla-get-XEffectiveScaleFactor x)
               (vla-get-YEffectiveScaleFactor x)
               (vla-get-ZEffectiveScaleFactor x)
             )
         )
         )
      (xtjd:ss2os ss)
      )
    )
)
)

fengyu6913 发表于 2024-8-23 14:44:11

xtjd 发表于 2024-8-23 13:36
;(GetFrameScale(getpoint))
;通过图框内的某个点坐标返回图框XYZ比例表
(defun GetFrameScale(p1 / ss)
...

感谢 xtjd大佬

yanshengjiang 发表于 2024-8-23 15:14:10

xtjd 发表于 2024-8-23 13:36
;(GetFrameScale(getpoint))
;通过图框内的某个点坐标返回图框XYZ比例表
(defun GetFrameScale(p1 / ss)
...

二十年前的大佬重出江湖
页: [1]
查看完整版本: 如何识别被包围的块(VF)的 XYZ比例?