问题是,当代码运行时,我得到了“错误的参数类型:lselsetp nil”。从我的角度来看,我似乎在“vl…”方面遇到了麻烦命令
如果我检查错误后的变量,我可以回调P3,但我没有得到“tbe”或“ent”的任何值。
我了解到这可能与用户的权限有关,因此我现在以管理员身份运行AutoCAD,但这一点都没有帮助。感觉我远远不能靠自己的脚走路。。
顺致敬意,
阿门特 我的错,在(defun)之前的文件顶部插入(vl load com),然后加载并再次运行。 哦我找到了。。但首先要做的事。这条线路(vl load com)对我的下一次尝试没有帮助,但后来我有了这个想法。。
代码没有涵盖选择中可能没有完全删除内部对象的对象。这在测试时产生了问题*脸掌*
我增加了一个“如果”条款来补偿这个案件。
不幸的是,它仍然给出了与我编写的代码相同的结果。有些边缘并没有一分为二,只是在其中一个边缘进行了切割,并去除了很多。
在运行lisp后按ctrl+z返回开始时,我发现第一个ctrl-z实际上会返回用于剪切的“矩形”。但有一点缺失。
始终是一样的,其中一个直肠边缘似乎是修剪第一。不知何故,选择集包含第一个矩形。我在(ssget“_C”P6 P7)之后强调了tbe的内容,并将其包括在内。
我会继续调查,找到什么就拿出什么。 正如我所说,我在2012年发布的代码对我来说是可行的,尽管我在测试时确保了框架内完全有一个对象
它可能是系统变量。我有TRIMMODE=1和EDGEMODE=0 嗯,它在小范围内工作,就像我在一些物体内切割10毫米的孔。但当我的画框变大(比如4000mm)时,它会先去掉画框的一个边缘。在写这篇文章时,这可能就是问题所在。。也许我有一个问题,因为两个矩形之间的距离在大范围内太小了。实际上,如果我在P6和P7之间做一个矩形,它的大小与P1和P2之间的相同。。AutoCAD中是否有一些检测可以纠正这种小差距以支持用户?(或者在我的情况下,让我的生活变得艰难) 就这样。。我刚刚添加了代码
在选择要修剪的对象和实际修剪命令之间,一切正常。我甚至不需要再计算P6和P7点。即使最初选择了第一个矩形,我还是会在修剪之前删除它
你简直不敢相信我现在有多放心。周末开始时间
谢谢你的帮助和所有提示!!
如果有人有相同的问题,我会复制下面的代码:
7 很高兴你解决了。 嗯,我以为已经完成了,但用我现在的画,我正在努力。。
我将其附在下面:
图纸1.dwg
当lisp(见下文)要求时,可以通过选择图形中白色矩形的两个相对角来尝试i。要启动lisp,请在加载后使用MDEL作为命令。
我的问题是,代码似乎仍在首先修剪我的矩形。(我在lisp中找不到这个问题。我认为如果我从选择集“tbe”中删除它,应该不会有问题)如果您使用“撤消”多次回滚lisp所做的更改,您可以看到它。
但除此之外,我还有一些新问题。看起来有些元素无法修剪(附图中的红色元素),我不确定为什么以及如何解决它,以使代码不会出错。在当前状态下,我得到了“错误:错误的参数值:AcDbCurve 158”有没有办法修剪它们?如果没有,是否有方法抑制错误并转到下一个元素,以便不取消lisp?
我将把lisp的最后一个版本放在下面:
8 对不起,我这周不在,只有现场笔记本电脑。你能用Autocad 2007格式附上这张图吗,我来看看。 有一个问题是,如果你经常放大,那么你需要放大和缩小来选取点,一个已知的代码错误是,除非你能看到整个对象,否则像这样的修剪是不起作用的。
页:
1
[2]