如何用autolisp编辑命令进行图案填充
已知三个点的坐标,在AutoCAD里面采用AutoLISP命令将这三个点间连上线并用那三条线围成一个面域,然后对该面域涂上颜色。已经形成面域了,但是不会填充颜色,希望哪位...
已知三个点的坐标,在AutoCAD里面采用AutoLISP命令将这三个点间连上线并用那三条线围成一个面域,然后对该面域涂上颜色。已经形成面域了,但是不会填充颜色,希望哪位高手指点下,谢谢。
展开
展开全部
(defun c:sd()
(setq oldcm (getvar "cmdecho")
oldos (getvar "osmode")
)
(setvar "cmdecho" 0)
(setvar "osmode" 33)
(command "_undo" "be")
(if (setq p1 (getpoint "\n指定第一点p1:"))
(if (setq p2 (getpoint p1 "\n指定第二点p2:"))
(progn
(grdraw p1 p2 7)
(if (setq p3 (getpoint p2 "\n指定第三点p3:"))
(progn
(setvar "osmode" 33)
(command "_pline" p1 p2 p3 "c")
(command "_hatch" "solid" (entlast) "")
(command "_chprop" (entlast) "" "c" 1 "")
)
)
)
)
)
(command "_undo" "e")
(setvar "cmdecho" oldcm)
(setvar "osmode" oldos)
(princ)
)
(setq oldcm (getvar "cmdecho")
oldos (getvar "osmode")
)
(setvar "cmdecho" 0)
(setvar "osmode" 33)
(command "_undo" "be")
(if (setq p1 (getpoint "\n指定第一点p1:"))
(if (setq p2 (getpoint p1 "\n指定第二点p2:"))
(progn
(grdraw p1 p2 7)
(if (setq p3 (getpoint p2 "\n指定第三点p3:"))
(progn
(setvar "osmode" 33)
(command "_pline" p1 p2 p3 "c")
(command "_hatch" "solid" (entlast) "")
(command "_chprop" (entlast) "" "c" 1 "")
)
)
)
)
)
(command "_undo" "e")
(setvar "cmdecho" oldcm)
(setvar "osmode" oldos)
(princ)
)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
天正软件
2024-08-02 广告
2024-08-02 广告
天正软件可以解决以下问题:1. 提供设计标准化:天正软件专注于勘察设计领域,为用户提供标准化、信息化、智能化的解决方案,以提高设计效率、优化设计流程、降低成本。2. 提高绘图效率:天正软件提供了一系列专业绘图工具,能够帮助设计师快速绘制图纸...
点击进入详情页
本回答由天正软件提供
展开全部
首先设置把三角全部显示在电脑上,
所有捕捉关掉,
计算得到 三角形内部其中一个点坐标值,
以坐标值为点填充,
恢复捕捉。
----------以上是我的思路,你在验证一下
所有捕捉关掉,
计算得到 三角形内部其中一个点坐标值,
以坐标值为点填充,
恢复捕捉。
----------以上是我的思路,你在验证一下
追问
呵呵,不好意思,我是新手,你说的应该正确,不过我还真不会你说的那种做法。
追答
你说。已经形成面域了,但是不会填充颜色
这样说明你至少做了一半了
是这个BHATCH填充吗?
关键是“计算得到 三角形内部其中一个点坐标值”
如果你不会,只有操作的时候多一步,用鼠标拾取了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(setq la(entlast))
(command "hatch" la ...)
(command "hatch" la ...)
追问
我试了,不行,显示函数错误被取消。还是只能形成面域。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询