cadmando2 发表于 2022-9-9 00:47:36

绘制具有中心线和外径和内径的二维管道

对这个 lisp 例程有问题,同事留下了!它可以工作,但是分层而不给出管道中心线的长度?谁能帮忙!**** Hidden Message *****

BIGAL 发表于 2022-9-9 01:00:17

用 vla-get-length 替换 pnt10 pnt11 ,这样它可以处理带曲线的线。将您的 ssgets 保持为个人,然后无需一直重新选择。 (setq ASS (ssget "X" (list (cons 0 "LINE") (cons 8 lay_name)) ) ;setq ASS当您制作偏移量时,只需将新偏移量添加到选择集 SSADD 中,然后在最后执行 1 更改属性。(命令“CHPROP”SSNEW1“”“LAYER”“2”“”)重复ssnew2“15”(princ "\n Warning! Arc/Splines CL's Return Incorrect Length.\nSelect Centerlines to Construct Pipe: ")

mhupp 发表于 2022-9-9 01:06:04

这里还有一些提示。制作图层时减少命令行垃圾邮件 在制作图层之前关闭 cmdecho 并在制作图层后重新打开。(setvar 'cmdecho 0)(command "layer" "m" ...(command "layer" "m" ...(command "layer" "m" ...(setvar 'cmdecho 1)OD 和 ID 的 getdist。您可以用鼠标或类型选择点,还可以确保 OD 大于 ID。并一次将它们除以2。
(if (and (setq P-OD (/ (getdist "\n Enter O.D. of Pipe: ") 2)) (setq P-ID (/ (getdist "\n Enter I.D. of Pipe: ") 2)) (> P-OD P-ID))(progn)(Progn    (prompt "\nI.D. Needs to be smaller then O.D.")    (quit)))如果管道的中心线是多条线,则所有连接的弧线将连接成一条折线。
(vl-cmdf "_.Join" A "") ;join everything selected with ssget into one polyline if they are connected 可以用 4 行 vla 替换 entmod 的 24 行
(setq off (vla-offset D idist)) ;sets vla-objname of new offset entity(vla-put-layer off "Boiler-Pipe-ID") ;moves offset entity to layer         
         

cadmando2 发表于 2022-9-9 01:12:28

感谢大家的帮助,我非常感谢。我打算使用它的项目刚刚被取消,但想继续为未来的项目开发这个 DP-2.lsp。 我打算在当地的社区学院上 AutoLisp 课程,但他们取消了课程,现在我想自己学习!有什么建议么!我还在学习 lisp 的基础知识!我用记事本、气味 AutoDesk 删除了“Visual Lisp 编辑器”! 有没有更好的 lisp 编辑器,除了在 Autocad 中运行之外,为什么还要测试 lisp?

mhupp 发表于 2022-9-9 01:17:52

尝试使用 vscode或notepad++进行 lisp 写作。vs 有很多功能,你可以为 lisp 安装插件。notepad++ 没有 Windows 记事本那么强大,但更好。

ronjonp 发表于 2022-9-9 01:27:39

该视频仍在 AutoCAD 中。不过,您需要将LISPSYS更改为 0。

BIGAL 发表于 2022-9-9 01:39:20

Notepad ++ 有一个运行代码选项,您只需要单独下载即可。我经常使用它。
主动 X 插件。

cadmando2 发表于 2022-9-9 01:47:30

我更新了管道例程,但最后仍然出现错误,并且没有让 Pline 或折线更改为中心线层。
**** Hidden Message *****
页: [1]
查看完整版本: 绘制具有中心线和外径和内径的二维管道