挤压方向z=-1(在P上)
您好,我有几个具有多段线对象的dwg文件,在使用list命令时具有以下语句:“相对于UCS的拉伸方向:X=0.00 Y=0.00 Z=-1.00”
线属性中的高程为0。
我在另一个软件中使用dwg文件作为背景,不幸的是,它没有显示值为-1的线。
我正在使用mirror3d(object)命令在ACAD中手动执行,有没有办法使用VBA找到所有这些多段线。我试图搜索多段线的属性,但找不到任何拉伸方向。 听起来像是你在沿着直线本身的轴看直线。如果将UCS绕X或Y轴旋转90度,您将看到直线的真实长度。 Thx回复,
但是UCS的更改不会更改list命令的结果。在UCS=world中,该线在ACAD中正确显示。
我举了一个例子。
-吉隆坡
图纸1.dwg 拉伸方向与法线方向相同。因此,如果使用VBA,则:
varNormal=entLWPoly。典型的
如果varNormal(2)=-1,则
等
如果要从Autocad屏幕中查找它们,则如下所示设置的过滤器将自动选择法线未与正Z轴对齐的所有多段线。
您可以通过创建bpoly、region或UCS、NEW对象来消除z=-1。 肖恩,
谢谢,我不知道filter命令。功能真不错。但是我不能用-1作为Z值的过滤器,但我用not绕过了它。
VBA还可以获取选择集中的所有相关对象。现在只需使用mirror3d函数(在VBA中)进行一些操作,我就可以正确地使用它。
Kduk63,
是的,当我玩UCS时,我消除了z=-1的值,但由于外部软件正在读取WCS,它并没有真正起到帮助。不过还是要谢谢你。
请注意,该文件实际上由microstation保存为dwg,我想这就是为什么我在一些多段线上得到z=-1值的原因。
我正处于ACAD中VBA的学习阶段,因此我需要一些帮助,使VBA与mirror3d对象相等(而不是按点)
-吉隆坡
我也不能。我也必须这样做,但有!=(不等于)。
关于VBA的具体问题通常会很快得到本网站众多VB专家的回答。 我必须在来自microstation/dgn格式的图形中解决这个问题。
很多圆弧和多段线都有这种情况,无法连接。
我用一个简单的Lisp例程解决了这个问题。
(defun c:swap()
(setq f1(ssget“_x”'((210 0.0 0.0-1.0)))
(如果(/=f1 nil)
(命令“_mirror3d”f1”““xy”“0,0,0”“y”)
)
(setq f1 nil)
)
马可
页:
[1]