偏移问题或几何形状
当做有人知道如何在知道坐标P1、P2、P3、P4和距离d1、d2、d3的情况下计算点O1、O2、O3、O4吗?
它实际上是一段直径不同的管道。
提前感谢 请记住,您必须通过移动垂直于原始对象的点来计算偏移。
参考下图:如果您知道点P1a和P2a,则可以计算直线的角度-参见角度函数;接下来,使用极性函数分别计算P1b、P2b、偏移距离和计算出的角度,将向其中添加90度。对另一侧执行相同操作(注意偏移的一侧)。
要获得两个偏移的交点,请检查INTERS函数并使用刚刚计算的四个点。
请检查草图上的点O1不能通过偏移直接获得,这将需要一些额外的约束。 谢谢你的回复。
我对O2特别感兴趣,
因为它位于两个不同的距离之间:d1和d2。 计算两条偏移线后,使用INTERS函数获得O2点。 也许这会让事情变得更清楚:
(setq dist1st 5.0
dist2nd 7.5)
(setq pointP1 (getpoint)
pointP2 (getpoint)
pointP3 (getpoint))
(setq angle1st (angle pointP1 pointP2)
angle2nd (angle pointP2 pointP3))
(setq pointO1(polar pointP1 (+ angle1st (* 0.5 pi)) dist1st)
pointO2a (polar pointP2 (+ angle1st (* 0.5 pi)) dist1st)
pointO2b (polar pointP2 (+ angle2nd (* 0.5 pi)) dist2nd)
pointO3(polar pointP3 (+ angle2nd (* 0.5 pi)) dist2nd))
(setq pointO2 (inters pointO1 pointO2a pointO2b pointO3 nil))
(command "_LINE" "non" pointO1 "non" pointO2 "non" pointO3 "") 谢谢MSasu,我完成了主题#1。
提出的想法有点费劲,因为我有几个点类型O2,O3,但很好。 查看绘制墙。lsp或多行。lsp您可以在没有inters的情况下计算平行线。
我会粘贴代码,但它是复制的。它绘制了2或4条线。
我找到了一些你说的,谢谢你的想法。 我在多段线大纲程序中使用inters功能(如上面MSasu所述)执行此任务,您可能会发现它很有用。 非常感谢李。
页:
[1]
2