cad指定中点,长度与方向画直线
cad指定中有没有命令实现指定点,长度与方向画直线?鼠标点击或输入中点、鼠标移动判定方向或输入角度值(像line一样)、输入直线长度或点击(当使用点击输入第二点时两点间距...
cad指定中有没有命令实现指定点,长度与方向画直线?鼠标点击或输入中点、鼠标移动判定方向或输入角度值(像line一样)、输入直线长度或点击(当使用点击输入第二点时两点间距离为长度的一半)。
如果用autolisp开发,怎样获得鼠标方向、怎样将命令添加到工具条上?
有改动
1、默认不用手动输入角度(根据第一个点和鼠标位置决定角度),有一个参数用于手动输入角度(显示“请指定点或[角度(A)/水平(H)/竖直(V)]:”,如果麻烦的话H、V就不用了,但是A应该有)。
2、点下第一个点之后要有预览(就像cad的其他命令一样,鼠标到哪里效果就到哪里,比如画圆命令:鼠标到哪儿就有个圆跟到哪),预览的效果为中点到端点的效果(参照下一条)
3、线的长度应该这样决定,用鼠标点击时长度为两点距离的两倍(也就是指定中点和端点,注意取消line的连续划线---因为这样感觉就好像多了一个line命令一样);当用手动输入时则长度为输入值。 展开
如果用autolisp开发,怎样获得鼠标方向、怎样将命令添加到工具条上?
有改动
1、默认不用手动输入角度(根据第一个点和鼠标位置决定角度),有一个参数用于手动输入角度(显示“请指定点或[角度(A)/水平(H)/竖直(V)]:”,如果麻烦的话H、V就不用了,但是A应该有)。
2、点下第一个点之后要有预览(就像cad的其他命令一样,鼠标到哪里效果就到哪里,比如画圆命令:鼠标到哪儿就有个圆跟到哪),预览的效果为中点到端点的效果(参照下一条)
3、线的长度应该这样决定,用鼠标点击时长度为两点距离的两倍(也就是指定中点和端点,注意取消line的连续划线---因为这样感觉就好像多了一个line命令一样);当用手动输入时则长度为输入值。 展开
展开全部
(defun c:fs ( / p1 a1 l1 )
(if (setq p1 (getpoint "\n请选择直线中点: "))
(if (setq a1 (getangle p1 "\n请输入直线角度: "))
(if (setq l1 (getdist p1 "\n请输入直线长度: "))
(command "_.line" (polar p1 a1 (/ l1 2.0)) (polar p1 a1 (/ l1 -2.0))) "")
)
)
)
)
(if (setq p1 (getpoint "\n请选择直线中点: "))
(if (setq a1 (getangle p1 "\n请输入直线角度: "))
(if (setq l1 (getdist p1 "\n请输入直线长度: "))
(command "_.line" (polar p1 a1 (/ l1 2.0)) (polar p1 a1 (/ l1 -2.0))) "")
)
)
)
)
更多追问追答
追问
您的答案非常好,感谢您的回答。
不过我希望有以下改动:
1、默认不用手动输入角度(根据第一个点和鼠标位置决定角度),有一个参数用于手动输入角度。
2、点下第一个点之后要有预览(就像cad的其他命令一样,鼠标到哪里效果就到哪里,比如画圆命令:鼠标到哪儿就有个圆跟到哪)
3、线的长度应该这样决定,用鼠标点击时长度为两点距离的两倍(也就是指定中点和终点);当用手动输入时则长度为输入值。
追答
我可以加入动态更新的效果,但唯一的不好的就是选了第一个点后无法使用点捕捉
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在对象捕捉里面可以设置 捕捉 中点 打钩就是了
追问
回答问题的时候请一定仔细看题目
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以用对象捕捉啊。设置里有
追问
回答问题的时候请一定仔细看题目
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用极坐标啊
追问
回答问题的时候请一定仔细看题目
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询