明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1025|回复: 8

[提问] 求助有没有可以绘制矩形管的小程序,如图所示,输入宽度,高度。和厚度就生成

[复制链接]
发表于 2022-4-26 23:07:03 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2022-4-27 20:53:41 | 显示全部楼层
本帖最后由 vitalgg 于 2022-4-27 21:26 编辑




http://atlisp.cn/package-info/at-lab-stable.html

@lisp 安装请至 http://atlisp.cn

  1. (defun @lab:rec-tube (/ res w h )
  2.   (@:help "绘制矩形管")
  3.   (setq res (ui:input "请输入参数"
  4.                       '(("Width" 200 "矩形管宽度")
  5.                         ("Height" 300 "矩形管高度")
  6.                         ("t" 10 "矩形管厚度"))))
  7.   (while (setq pt (getpoint "请输入绘制位置:"))
  8.     (setq w (* 0.5 (cdr (assoc "Width" res))))
  9.     (setq h (* 0.5 (cdr (assoc "Height" res))))
  10.     (setq t1  (cdr (assoc "t" res)))
  11.     (entity:make-rectangle
  12.      (polar (polar pt pi w)
  13.             (* 1.5 pi) h)
  14.      (polar (polar pt 0 w)
  15.             (* 0.5 pi) h))

  16.     (entity:make-rectangle
  17.      (polar (polar pt pi (- w t1))
  18.             (* 1.5 pi)  (-  h t1))
  19.      (polar (polar pt 0 (- w t1))
  20.             (* 0.5 pi) (-  h t1 )))))

发表于 2022-4-27 22:57:00 | 显示全部楼层
这种需求,参数化动态块最方便。

点评

老手!  发表于 2022-4-29 17:59
 楼主| 发表于 2022-4-29 15:06:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2022-4-30 11:20:21 | 显示全部楼层
好好-MEN 发表于 2022-4-29 15:06
大师,你这是好用,但是我就画一个管,还得安装你这个大插件,有点繁重了

不用的插件可以不安装,只安装核心程序即可。

都不想安装的话,网站有需要的函数源码,你可以自己拼凑一个lsp文件。

自己拼凑,还是安装 @lisp . 都是需要花时间的。

http://atlisp.cn/function/entity:make-rectangle


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-4-30 19:17:10 | 显示全部楼层
  1. (defun c:tt (); tt(矩形管)
  2.   (defun Udist (bit kwd msg def bpt / inp)
  3.   (if def
  4.     (setq msg (strcat "\n" msg "<" (rtos def) ">: ")bit (* 2 (fix (/ bit 2))))
  5.     (setq msg (strcat "\n" msg ": "))
  6.   )
  7.   (initget bit kwd)
  8.   (setq inp (if bpt(getdist msg bpt)(getdist msg)))
  9.   (if inp inp def)
  10. )
  11.   (setq ww (Udist 7 "" "宽度<输入或鼠标直接量取>" ww nil))
  12.   (setq hh (Udist 7 "" "高度<输入或鼠标直接量取>" hh nil))
  13.   (setq dd (Udist 7 "" "厚度<输入或鼠标直接量取>" dd nil))
  14.   (while (setq p0 (getpoint "\n基点<退出>: "))
  15.     (setq p1  (list (+ (car p0) ww) (+ (cadr p0) hh))
  16.           p01 (list (+ (car p0) dd) (+ (cadr p0) dd))
  17.           p11 (list (- (car p1) dd) (- (cadr p1) dd))
  18.     )
  19.     (command "Rectang" "non" p0 "non" p1)
  20.     (command "Rectang" "non" p01 "non" p11)
  21.   )
  22.   (princ)
  23. )
 楼主| 发表于 2022-5-1 11:15:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2022-5-1 11:57:30 | 显示全部楼层
我的怎么用不起来啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-14 14:47 , Processed in 0.182714 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表