让用户分别选择每个视图的线条,并存储线条端点、圆弧端点和中点以及圆形象限的坐标。将各组点相互比较。一、 e.检查前视图和侧视图的Y值。对于至少没有一个匹配的任何点,请更改相应线条的颜色以标记它。
跨斜接线检查基本上是相同的概念。首先创建一个具有俯视图最低Y值和侧面最低X值(X1,Y1)的参考点,并检查每个点与该参考点的距离是否匹配(X2-X1=Y2-Y1)。 如果这样的东西可以被编码,那就太棒了。不幸的是,我没有足够的lisp经验,甚至不知道从哪里开始编写这种类型的例程。我担心的一个问题是,一条线找到了一个理论匹配,但它实际上与实体无关。这基本上是一个误报。快速浏览所有标记的颜色会给人留下一切都很好的印象,但经过进一步检查,情况并非如此。
这是工作出色,减少了我的工作时间!谢谢
如果可能的话,我还有一个额外的要求。当前,只有在其路径内检测到45度斜接线时,它才会创建构造线。如果我在屏幕上单击任何未检测到可能与斜接线相交的地方,它将根本不会创建构造线。那么,当它没有检测到其路径内的斜接线时,它是否可以像现在一样工作并创建正常的构造线?类似“OR”函数的东西?谢谢 当然有可能:
更改:
(if(setq pp(vlax invoke(vlax ename->vla object xli)'与(vlax ename->vla object e)acextendnone相交)
收件人:
(if(setq pp(vlax invoke(vlax ename->vla object xli)'与(vlax ename->vla object e)acextendotherentity相交)
如果您希望两个LISP都以这种方式操作,则应将更改应用于这两个LISP。。。
当做
页:
1
[2]