乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 48|回复: 14

[编程交流] 创建单线风管工程

[复制链接]

38

主题

83

帖子

53

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
186
发表于 2022-7-6 14:57:35 | 显示全部楼层 |阅读模式
我正在做一个大项目,为了减少我正在寻找的图纸,我正在创建单线管道工程和软风管。
我有一根水管。但是如何设置i来创建一条直线呢?
我试图将其设置为0,但wpipe。lsp不喜欢。我需要一个来创建软风管。
但我有很多事情要做。
我们要做的是在风管的每一侧偏移风管,并创建柱脚,这样风管的整个长度显示两个风管,一个在另一个里面,这样我就可以对其进行图案填充以显示演示。然后,我移除管道的外部管线
你知道我如何减少步骤,在正在演示的风管周围创建一个图案填充吗?
 
这是步骤的样子。
155737aebnxr57lbex33b8.jpg
155738b52820dwh50j5wvh.jpg
155739xl7u6jl88nq8nd20.jpg
155740wzcut5yuyxhascut.jpg
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 15:06:02 | 显示全部楼层
一种简单的方法是将“测量”命令用于在风管管路的直线、圆弧、*柱脚上包含预先指定尺寸的X线型图案的块。
大卫
155741sq9uqjptuzama0tu.jpg
-演示。图纸
回复

使用道具 举报

38

主题

83

帖子

53

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
186
发表于 2022-7-6 15:10:01 | 显示全部楼层
这个测量命令可以写在脚本中吗?
我试过了,但我记得脚本是否允许您选择并恢复脚本?
我试过了,效果很好,但如果我能把它放在脚本或lisp例程中就太好了。
原因是要设置正确的层!
但该测量命令将在软风管上工作!我怎么才能让那个角色工作呢。
这是我正在做的一个项目。所有品红颜色的风管都将被拆除,柔性风管仍在关于拆除的争论中。
155742mj6q8gnfxmnl6nqq.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:10:50 | 显示全部楼层
也许不是脚本,但我肯定认为LISP可以工作。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:16:07 | 显示全部楼层
例如,使用一个非常简单的LISP,只需单击一次,即可完成David所取得的成就:
 
  1. (defun c:duct (/ *error* Cmd cEnt)
  2. (defun *error* (msg) (setvar "CMDECHO" Cmd) (princ))
  3. (setq Cmd (getvar "CMDECHO")) (setvar "CMDECHO" 0)
  4. (if (and (setq cEnt (car (entsel "\nSelect Duct Centerline > ")))
  5.       (tblsearch "BLOCK" "DEMO"))
  6.    (progn
  7.      (command "_measure" cEnt "_B" "DEMO" "_Y" "1.5"))
  8.    (princ "\n<!> No Object Selected or Block not Found <!>"))
  9. (setvar "CMDECHO" Cmd)
  10. (princ))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:22:48 | 显示全部楼层
或者,要应用于图形空间中的所有LWD多段线,请执行以下操作:
 
  1. (defun c:duct (/ *error* Cmd ss)
  2. (vl-load-com)
  3. (defun *error* (msg) (setvar "CMDECHO" Cmd) (princ))
  4. (setq Cmd (getvar "CMDECHO")) (setvar "CMDECHO" 0)
  5. (if (and (setq ss (ssget "X" (list (cons 0 "LWPOLYLINE")
  6.             (if (getvar "CTAB")(cons 410 (getvar "CTAB"))
  7.               (cons 67 (- 1 (getvar "TILEMODE")))))))
  8.           (tblsearch "BLOCK" "DEMO"))
  9.    (progn
  10.      (mapcar '(lambda (x) (command "_measure" x "_B" "DEMO" "_Y" "1.5"))
  11.          (mapcar 'cadr (ssnamex ss))))
  12.    (princ "\n<!> No Object Selected or Block not Found <!>"))
  13. (setvar "CMDECHO" Cmd)
  14. (princ))

风管示例。拉链
回复

使用道具 举报

38

主题

83

帖子

53

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
186
发表于 2022-7-6 15:26:54 | 显示全部楼层
谢谢李。
你似乎总是来找我。
我最终从图书馆得到了一本关于自定义“Lisp”的书
但我似乎从来没有时间在CAD 2008上阅读和玩lisp例程。如果每个人都让我一个人呆着,我可以完成我的工作,有更多的时间学习“AutoLisp”。
但是有人问我CAD或者CAD有问题。作为一名CAD经理,我是拿不到薪水的。
但我很高兴我还在工作,但我总是需要Lisp程序的例行程序,使工作更容易。
这里有一个。我得到了这个单管道Lisp例程,但它正在创建双线,我想用opption将单线管道更改为pline?这样,您创建的演示“measure”lisp就可以工作了!
我只是想减少一些干扰,我完成工作的时间不多了。。
 
使用的代码:
; 绘制任意尺寸的连续管道(或风管)
; 具有用户定义的内部折弯半径(默认值=0.0)
(定义c:bd(/d1 d p1 p2 p3 rd1 rd2 lu1 lu2 u1 u2 u3 u5 erd elu erd2
elu2 ofr)
(setq oerr*错误*)
(defun*错误*(msg)
(setvar“filletrad”ofr)
(setvar“osmode”osn)
(普林斯
功能被用户取消,或半径太大
)
(setq*错误*oerr)
(命令)
(普林斯)
)
(setq osn(getvar“osmode”))
(setq ofr(getvar“filletrad”))
(setvar“cmdecho”0)
(如果(=d2 nil)
(setq d2 1.0)
)
管道直径/管道宽度
(原理d2)
(普林斯“>?:”)
(setq d1(getdist))
(如果(=d1无)
(setq d1 d2)
)
(setq d2 d1)
(如果(=r1 nil)
(setq r1 0.0)
)
(princ“\n内弯曲半径
(普林斯r1)
(普林斯“>?:”)
(setq r(getdist))
(如果(=r nil)
(setq r r1)
)
(setq r1 r)
(setq d(/d1 2))
(setq p1(getpoint“\n起始点:”))
(setq p2(获取点p1“\n下一点:”)
(setq u1(角度p1 p2))
(setq rd1(极性p1(-u1(*pi 0.5))d));rd=右侧
(setq rd2(极坐标rd1 u1(距离p1 p2)))
(setq lu1(极性p1(+u1(*pi 0.5))d));lu=左
(setq lu2(极性lu1 u1(距离p1 p2)))
(setvar“osmode”0)
(命令行“rd1 lu1”)
(命令行“rd1 rd2”)
(setq erd(entlast))
(命令行“lu1 lu2”)
(setq elu(entlast))
(setvar“osmode”osn)
(setq p3(getpoint p2“\n Next”))
(setvar“osmode”0)
(setq u2(角度p2 p3))
(setq u5(+(-pi u1)u2))
(如果(>u5(*pi 2))
(setq u5(-u5(*pi 2)))
)
(如果(
(setq u5(+(*pi 2)u5))
)
(p3时
(setq p1 p2)
(setq p2 p3)
(setq u1(角度p1 p2))
(setq rd1(极性p1(-u1(*pi 0.5))d));rd=右/下
(setq rd2(极坐标rd1 u1(距离p1 p2)))
(setq lu1(极性p1(+u1(*pi 0.5))d));lu=左/上
(setq lu2(极性lu1 u1(距离p1 p2)))
(命令行“rd1 rd2”)
(setq erd2(entlast))
(命令行“lu1 lu2”)
(setq elu2(entlast))
(如果(
(程序
(setvar“filletrad”r)
(命令“fillet”erd erd2)
(setvar“filletrad”(+d1 r))
(命令“fillet”elu elu2)
)
)
(如果(>u5 pi)
(程序
(setvar“filletrad”(+d1 r))
(命令“fillet”erd erd2)
(setvar“filletrad”r)
(命令“fillet”elu elu2)
)
)
(setq erd erd2)
(setq elu elu2)
(setvar“osmode”osn)
(setq p3(获取点p2“\n下一步:”)
(setvar“osmode”0)
(如果(=p3 nil)
()
(setq u2(角度p2 p3))
)
(setq u5(+(-pi u1)u2))
(如果(>u5(*pi 2))
(setq u5(-u5(*pi 2)))
)
(如果(
(setq u5(+(*pi 2)u5))
)
 
)
 
(命令行“rd2 lu2”)
(setvar“osmode”osn)
(setvar“filletrad”ofr)
(普林斯)
)
 
再次感谢
简写:)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:30:05 | 显示全部楼层
没问题,柯特,我会看看我能做什么
 
顺便问一下,有没有一个特定的层,你希望管道上?你想保留多段线的中心线吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:35:56 | 显示全部楼层
也许是这样?
 
 
  1. (defun c:bd  (/ *error* vlst ovar)
  2. (defun *error*  (msg)
  3.    (if    ovar (mapcar 'setvar vlst ovar))
  4.    (princ (strcat "\nError: " (strcase msg)))
  5.    (princ))
  6. (setq    vlst '("CMDECHO" "CLAYER" "FILLETRAD")
  7.    ovar (mapcar 'getvar vlst))
  8. (setvar "CMDECHO" 0) (setvar "FILLETRAD" 2.0)
  9. (if (or (tblsearch "BLOCK" "Demo")
  10.      (and (findfile "Demo.dwg")
  11.           (command "_.INSERT" "Demo") (command)))
  12.    (progn
  13.      (if (not (tblsearch "LAYER" "Duct"))
  14.    (command "-layer" "M" "Duct" "_C" "6" "Duct" "")
  15.    (setvar "CLAYER" "Duct"))
  16.      (princ "\nConstruct Duct Line...")
  17.      (command "_pline")
  18.      (while (> (getvar "CMDACTIVE") 0) (command pause))
  19.      (command "_fillet" "_P" (entlast))
  20.      (command "_measure" (entlast) "_B" "Demo" "Y" "1.5"))
  21.    (princ "\n<!> Block Not Found <!>"))
  22. (mapcar 'setvar vlst ovar)
  23. (princ))
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 15:37:02 | 显示全部楼层
测量不需要点输入吗?ename无法通过A2K工作。也许命令已经改变了-大卫
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 22:12 , Processed in 0.503425 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表