eddablin 发表于 2022-7-6 14:45:49

围绕

你好我有一个大型建筑的一楼平面图,并已将梁绘制到柱的中点。通常做法是将线条缩小,使其在平面上看起来像这样:
 
I------I
 
而不是
 
I-----------I
 
如果我有一段代码,使它们都围绕其中点进行缩放,而不是分别按其基点缩放每条线,这将节省我很多时间。有人有办法吗?
 
非常感谢!

Lee Mac 发表于 2022-7-6 14:51:28

你需要按比例计算多少?它们都在自己的层上吗?它们是直线、多段线还是LW多段线?

eddablin 发表于 2022-7-6 14:57:30

 
嗨,李。感谢您的回复。
 
它们都是线条。理想情况下,刻度可以是用户输入。如果不是0.8就好了。
 
谢谢

eddablin 发表于 2022-7-6 15:06:09

哦,是的,它们都在同一层(称为“梁”)

Lee Mac 发表于 2022-7-6 15:08:40

试一试:
 

(defun c:scl(/ ss scl)
(vl-load-com)
(or scale:def (setq scale:def 0.)
(if (setq ss (ssget "X" (list (cons 0 "LINE")
                               (cons 8 "Beams")
                               (if (getvar "CTAB")
                                 (cons 410 (getvar "CTAB"))
                                 (cons 67 (- 1 (getvar "TILEMODE")))))))
   (progn
   (initget 6)
   (setq scl (getreal (strcat "\nSpecify Scale Factor <" (rtos scale:def) "> : ")))
   (or (not scl) (setq scale:def scl))
   (foreach x(mapcar 'vlax-ename->vla-object
                         (mapcar 'cadr (ssnamex ss)))
       (vla-ScaleEntity x
         (vlax-3D-point
         (vlax-curve-getPointatDist x
             (/ (vla-get-length x) 2.0))) scale:def)))
   (princ "\n<!> No Lines Found <!>"))
(princ))

eddablin 发表于 2022-7-6 15:16:59

 
真是太棒了!我希望我能编写这些代码。可以节省很多时间。非常感谢!救生员

Lee Mac 发表于 2022-7-6 15:21:37

很好,很高兴它符合你的要求
 
如果您对代码或其他方面有任何其他问题,请提问
 

Arizona 发表于 2022-7-6 15:24:27

李,你们一起这么快就挺过来了,真是太棒了。你就是那个男人!

Lee Mac 发表于 2022-7-6 15:32:02

 
干杯伙计

eddablin 发表于 2022-7-6 15:35:48

嗨,李,
 
还有一个问题:我想调整层“列”上关于其中点的所有内容。这些柱子大多是正方形的,但我认为有些可能是由4条线组成的。
 
我试图编辑你的代码,但失败了。他们只是调整了一个角落的大小。
 
提前感谢
页: [1] 2
查看完整版本: 围绕