明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3139|回复: 19

[提问] 求编一个画指定宽度矩形并填充的LSP

[复制链接]
发表于 2023-6-14 10:24:28 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 37902505 于 2023-6-14 16:35 编辑

麻烦论坛里各位大哥,抽空帮我编一个在平面图上画一个矩形(和CAD用REC画矩形一样,指定一个图层)并自动填充(指定另一个图层),然后旁边自动生成相应宽度的文字,我已上传文件,麻烦了

附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2023-6-14 11:20:58 | 显示全部楼层
你这点钱大家很难办啊,等有缘人出现吧
回复

使用道具 举报

发表于 2023-6-14 12:45:01 | 显示全部楼层


;; 需要e派工具箱(xcad)的支持

本帖子中包含更多资源

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

x

点评

都不能直接用,还要加载其他的  发表于 2023-6-14 14:34
回复

使用道具 举报

发表于 2023-6-14 13:41:29 | 显示全部楼层
需要e派工具箱(xcad)的支持
回复

使用道具 举报

 楼主| 发表于 2023-6-14 14:28:18 | 显示全部楼层
xyp1964 发表于 2023-6-14 12:45
;; 需要e派工具箱(xcad)的支持

怎么用呀,直接加载这个LSP不行吗?要怎么加载E派工具箱?
回复

使用道具 举报

发表于 2023-6-14 16:01:09 | 显示全部楼层
37902505 发表于 2023-6-14 14:28
怎么用呀,直接加载这个LSP不行吗?要怎么加载E派工具箱?

进群下载工具箱
回复

使用道具 举报

发表于 2023-6-15 00:04:43 | 显示全部楼层
本帖最后由 cq4920 于 2023-6-15 00:06 编辑

这个多简单啊!
绘制矩形的方法太多了,我就直接弄个最简单的,你也可以根据REC的方法优化绘制矩形的函数,论坛太多了

  1. (defun c:rect (/ pt1 pt2 width height)
  2. (if (setq pt1 (getpoint "\n指定插入点: "))
  3.         (progn
  4.   (setq pt2 (getcorner pt1 "指定对角点"))
  5.   (command "RECTANG" pt1 pt2)
  6.         (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防" "")        
  7.         (command "-bhatch" "p" "stars"  10 180 "s" (entlast) "" "")
  8.   (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防填充" "")
  9.         (entmake (list '(0 . "TEXT") (cons 1 "XF300 F") (cons 10 pt2) (cons 40 150)(cons 62 3)))
  10.         (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防文字" "")
  11.   )
  12. )
  13. )


本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2023-6-15 08:39:07 | 显示全部楼层
cq4920 发表于 2023-6-15 00:04
这个多简单啊!
绘制矩形的方法太多了,我就直接弄个最简单的,你也可以根据REC的方法优化绘制矩形的函数 ...

老大,厉害,这函数能不能再优化下,生成的宽度的文字要随矩形的宽度,然后文字能不能调在矩形居中位置的上方,我是新手不太懂的搞,麻烦帮改下,谢谢
回复

使用道具 举报

发表于 2023-6-15 09:08:40 | 显示全部楼层
本帖最后由 cq4920 于 2023-6-15 09:10 编辑

37902505 发表于 2023-6-15 08:39
老大,厉害,这函数能不能再优化下,生成的宽度的文字要随矩形的宽度,然后文字能不能调在矩形居中位置的 ...




(defun c:rect (/ pt1 pt2 width height)
(if (setq pt1 (getpoint "\n指定插入点: "))
        (progn
  (setq pt2 (getcorner pt1 "指定对角点"))
  (command "RECTANG" pt1 pt2)
        (command "CHPROP" (entlast) "" "LA" "EQUIP_消防" "")        
        (command "-bhatch" "p" "stars"  10 180 "s" (entlast) "" "")
  (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防填充" "")
                                                        (setq n (rtos (abs (- (car pt1) (car pt2)))))
                                                        (setq txt (strcat "XF" n " F"))
        (entmake (list '(0 . "TEXT") (cons 1 txt) (cons 10 pt2) (cons 40 150)(cons 62 3)))
        (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防文字" "")
  )
)
)
回复

使用道具 举报

发表于 2023-6-15 10:05:06 | 显示全部楼层
本帖最后由 cq4920 于 2023-6-15 10:08 编辑
37902505 发表于 2023-6-15 08:39
老大,厉害,这函数能不能再优化下,生成的宽度的文字要随矩形的宽度,然后文字能不能调在矩形居中位置的 ...
  1. (defun c:rect (/ pt1 pt2 width height)
  2. (if (setq pt1 (getpoint "\n指定插入点: "))
  3.         (progn
  4.   (setq pt2 (getcorner pt1 "指定对角点"))
  5.   (command "RECTANG" pt1 pt2)
  6.         (command "CHPROP" (entlast) "" "LA" "EQUIP_消防" "")        
  7.         (command "-bhatch" "p" "stars"  10 180 "s" (entlast) "" "")
  8.   (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防填充" "")
  9.               (setq n (rtos (abs (- (car pt1) (car pt2)))))
  10.               (setq txt (strcat "XF" n " F"))
  11.               (setq pt-xz-y (center-max-y pt1 pt2))
  12.               (setq pt3 (list (car pt1) (cadr pt2)))  
  13.         (entmake (list '(0 . "TEXT") (cons 1 txt) (cons 11 pt-xz-y) (cons 10 pt2)
  14.                         (cons 40 150)(cons 62 3)(cons 72 1)(cons 73 1)))
  15.         (command "CHPROP" (entlast) ""  "LA" "EQUIP_消防文字" "")
  16.   )
  17. )
  18. )


  19. (defun center-max-y (pt1 pt2)
  20. (setq x-center (/ (+ (car pt1) (car pt2)) 2.0)
  21.         y-max (max (cadr pt1) (cadr pt2)))
  22.     (list x-center y-max))

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 11:47 , Processed in 0.186159 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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