明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1197|回复: 8

[提问] 画矩形后直接连带着在矩形内画两条斜直线

[复制链接]
发表于 2020-11-13 15:49 | 显示全部楼层 |阅读模式
在画节点图的时候经常需要画木龙骨,虽然做了木龙骨的动态块,可以每次还是要复制、拉伸,想要直接输入命令后选两个对角点,然后就出来矩形和里边的两条斜线。
这个代码需要输入两次数值,不够完美。
(defun c:rrx(/ pa pb pc pd ww hh mp1 mp2 mp3 mp4)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
;以下 pa、ww、hh 值须由使用者输入
(setq pa (getpoint "Enter Left/Low Point:"))
(setq ww (getdist pa "\nWidth:"))
(setq hh (getdist pa "\nHeight:"))
;以下pb、pc、pd值须由程序依据pa、ww、hh求出
(setq pb (polar pa 0 ww))
(setq pc (polar pb (/ pi 2) hh))
(setq pd (polar pc pi ww))
;以下依据 pa、pb、pc、pd 点画矩形
(command "pline" pa pb pc pd "c")
(command "line" pa pc "")
(command "line" pb pd "")
(prin1)
)

本帖子中包含更多资源

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

x
发表于 2020-11-14 18:10 | 显示全部楼层
yyz123121 发表于 2020-11-14 16:16
请问下,我想设置矩形里边的两条斜线的颜色和线型,比如颜色设置成8,如何设置呢

在前面加上颜色命令即可,线型一个道理
(command "RECTANGLE" "non" (setq p1 (getpoint "\n点1:")) "non" (setq p2 (getcorner p1 "\n点2:")) "cecolor" "8" "line" "non" p1 "non" p2 "" "line" "non" (list (car p1) (cadr p2)) "non" (list (car p2) (cadr p1)) "")
回复 支持 1 反对 0

使用道具 举报

发表于 2020-11-13 17:54 | 显示全部楼层
(command "RECTANGLE" "non" (setq p1 (getpoint "\n点1:")) "non" (setq p2 (getcorner p1 "\n点2:")) "line" "non" p1 "non" p2 "" "line" "non" (list (car p1) (cadr p2)) "non" (list (car p2) (cadr p1)) "")

评分

参与人数 1明经币 +1 收起 理由
yyz123121 + 1 很给力!

查看全部评分

 楼主| 发表于 2020-11-14 15:13 | 显示全部楼层
start4444 发表于 2020-11-13 17:54
(command "RECTANGLE" "non" (setq p1 (getpoint "\n点1:")) "non" (setq p2 (getcorner p1 "\n点2:")) "li ...

谢谢大神!!!
 楼主| 发表于 2020-11-14 16:16 | 显示全部楼层
start4444 发表于 2020-11-13 17:54
(command "RECTANGLE" "non" (setq p1 (getpoint "\n点1:")) "non" (setq p2 (getcorner p1 "\n点2:")) "li ...

请问下,我想设置矩形里边的两条斜线的颜色和线型,比如颜色设置成8,如何设置呢
 楼主| 发表于 2020-11-15 00:10 | 显示全部楼层
谢谢大神!木龙骨的动态块可以删了

本帖子中包含更多资源

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

x
发表于 2021-9-8 12:07 | 显示全部楼层
start4444 发表于 2020-11-13 17:54
(command "RECTANGLE" "non" (setq p1 (getpoint "\n点1:")) "non" (setq p2 (getcorner p1 "\n点2:")) "li ...

能不能麻烦把这个编译成一个完整的可运行LSP文件?
发表于 2024-2-13 10:42 | 显示全部楼层
没有后续啦呀,还想看大神出手
发表于 2024-3-25 15:06 | 显示全部楼层
(defun c:rf4 ()
  (command "undo" "begin")
  (setvar "cmdecho" 0)
  (setq cly (getvar "clayer"))
  (setvar "clayer" "RF_S")
  (setq p1 (getpoint "\n起点:"))
  (setq p2 (getpoint "\n终点:"))
  (setq p3 (list (car p1) (cadr p2)))
  (setq p4 (list (car p2) (cadr p1)))       
  (command "line" p1 p2 "")
  (command "line" p3 p4 "")
  (command "RECTANGLE" p1 p2)
  (setvar "clayer" cly)
  (command "undo" "end")
  (prin1)  
)
;;;;;我自己写的,画人防门示意用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 20:59 , Processed in 0.275971 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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