乐筑天下

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

[编程交流] 线路、桥的不同层

[复制链接]

8

主题

27

帖子

19

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 06:56:28 | 显示全部楼层 |阅读模式
你好
 
我最近在cadtutor论坛上从Tharwat那里得到了这个Lisp程序的句子。
哇!它很棒,节省了我很多起草时间。
 
如果我要求对
lisp通过将线、人孔(点)和文本分隔为不同的
层。
 
谢谢
mhsw。lsp
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:00:57 | 显示全部楼层
要将例程中的每个实体分隔为哪些层名称?
回复

使用道具 举报

8

主题

27

帖子

19

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 07:02:58 | 显示全部楼层
您好,很高兴看到您的回复。
 

(1) 管道线到层名称“管道”
(2) 点(人孔)到层名称“人孔”
(3) 文字到图层名称“textlength”
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:08:03 | 显示全部楼层
 
给你,试试,让我知道。
 
  1. (defun c:MHSW (/ _L _P _T p p1 p2 a ang l i)
  2. ;;; =============------------ Tharwat 27. Jan. 2013 -----------=========;;;
  3. ;;; Prompt to user to specify Distance between Manholes         ;;;
  4. ;;; then height of the text and finally to specify start and end points    ;;;
  5. (defun *error* (x) (princ "\n *Cancel*"))
  6. (cond ((not (tblsearch "LAYER" "pipe"))
  7.         (progn (alert "Layer < pipe > is not found in drawing !!") (exit))
  8.        )
  9.        ((not (tblsearch "LAYER" "manhole"))
  10.         (progn (alert "Layer < manhole > is not found in drawing !!") (exit))
  11.        )
  12.        ((not (tblsearch "LAYER" "textlength"))
  13.         (progn (alert "Layer < textlength > is not found in drawing !!") (exit))
  14.        )
  15. )
  16. (defun _L (j k) (entmakex (list '(0 . "LINE") '(8 . "pipe") (cons 10 j) (cons 11 k))))
  17. (defun _P (p) (entmakex (list '(0 . "POINT") '(8 . "manhole") (cons 10 p))))
  18. (defun _T (p h s a)
  19.    (entmakex (list '(0 . "TEXT")
  20.                    (cons 10 (trans p 1 0))
  21.                    (cons 11 (trans p 1 0))
  22.                    '(8 . "textlength")
  23.                    (cons 40 h)
  24.                    (cons 1 s)
  25.                    (cons 50 a)
  26.                    '(72 . 1)
  27.                    '(73 . 1)
  28.              )
  29.    )
  30. )
  31. (if (and (if (progn (initget 6)
  32.                      (setq *d* (cond ((getdist (strcat "\n Specify distance between Manholes "
  33.                                                        (if *d*
  34.                                                          (strcat "< " (rtos *d* 2 2) " > :")
  35.                                                          " :"
  36.                                                        )
  37.                                                )
  38.                                       )
  39.                                      )
  40.                                      (t *d*)
  41.                                )
  42.                      )
  43.               )
  44.             (setq *d* *d*)
  45.             nil
  46.           )
  47.           (if (progn (initget 6)
  48.                      (setq *h* (cond ((getdist (strcat "\n Specify Text Height "
  49.                                                        (if *h*
  50.                                                          (strcat "< " (rtos *h* 2 2) " > :")
  51.                                                          " :"
  52.                                                        )
  53.                                                )
  54.                                       )
  55.                                      )
  56.                                      (t *h*)
  57.                                )
  58.                      )
  59.               )
  60.             (setq *h* *h*)
  61.             nil
  62.           )
  63.           (setq p1 (getpoint "\n specify start point :"))
  64.           (setq p2 (getpoint "\n Specify end point :" p1))
  65.      )
  66.    (progn (setvar 'pdmode 65)
  67.           (setq a   (angle p1 p2)
  68.                 ang a
  69.           )
  70.           (if (and (< (* pi 0.5) ang) (<= ang (* pi 1.5)))
  71.             (setq ang (+ pi ang))
  72.             ang
  73.           )
  74.           (mapcar '_P (list p1 p2))
  75.           (setq l (distance p1 p2))
  76.           (repeat (fix (/ l *d*))
  77.             (_L p1 (setq p (polar p1 a *d*)))
  78.             (_P p)
  79.             (_T (mapcar '(lambda (j k) (/ (+ j k) 2.)) p1 p) *h* (strcat "L= " (rtos *d* 2 1)) ang)
  80.             (setq p1 p)
  81.           )
  82.           (if (> (setq i (rem l *d*)) 0.)
  83.             (progn (_L p1 p2)
  84.                    (_T (mapcar '(lambda (j k) (/ (+ j k) 2.)) p1 p2)
  85.                        *h*
  86.                        (strcat "L= "
  87.                                (if (< i 0.)
  88.                                  (rtos i 2 2)
  89.                                  (rtos i 2 1)
  90.                                )
  91.                        )
  92.                        ang
  93.                    )
  94.             )
  95.           )
  96.    )
  97.    (princ)
  98. )
  99. (princ "\nWritten by Tharwat Al Shoufi")
  100. (princ)
  101. )
回复

使用道具 举报

8

主题

27

帖子

19

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 07:10:07 | 显示全部楼层
太棒了它起作用了,再次感谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:12:25 | 显示全部楼层
 
随时欢迎你。
回复

使用道具 举报

8

主题

27

帖子

19

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 07:16:09 | 显示全部楼层
嗨,塔瓦。。。。。。。还有两个问题。
 
问题1-将点(人孔)放置在特定层中后。我需要将点填充为实心正方形;有可能吗?
 
问题2-是否可以将点(人孔)更改为实心圆而不是正方形?
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:19:37 | 显示全部楼层
 
你好
 
实心正方形还是实心圆形?
 
如果是圆,那么圆的直径是多少?如果是多段线,那么正方形的宽度和高度是多少?
回复

使用道具 举报

8

主题

27

帖子

19

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 07:22:32 | 显示全部楼层
嗨,塔瓦。。。。谢谢你的快速回复。
 
实际上我需要实心正方形和实心圆形。也许Lisp可以提示
供用户选择使用哪一个。;以后可以采用。
 
至于圆形和正方形的尺寸,有可能改变吗
通过对所选点进行阴影处理,直接从PDIE模式?
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:27:52 | 显示全部楼层
 
不能填充点图元。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 09:58 , Processed in 0.555198 second(s), 72 queries .

© 2020-2025 乐筑天下

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