明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2085|回复: 2

关于多义线自动偏移的考虑

[复制链接]
发表于 2003-1-21 15:14:00 | 显示全部楼层 |阅读模式
已知:一多义线pline,和偏移距离offset_dist
要求:offset_dist > 0 时pline向外偏移
      offset_dist < 0 时pline向内偏移
我的思路:
    1、divide ---> pline 分为(* (cdr (assoc 90 (entget pline))) 3) 份后,提取点数据points。
    开始循环
    2、计算pt(i)、pt(i+1)、pt(i+2),的角平分线方位角myAngle,
    3、计算偏移点mypt=(polar pt(i+1) myAngle (* -1.0 offset_dist))
    4、如果mypt为pline内一点并且offset_dist < 0 ,
          那么终止循环
          发出偏移命令 (command "offset" abs(offset_dist) pline mypt "")
    5、如果mypt不在pline内并且offset_dist > 0,
          那么终止循环
          发出偏移命令 (command "offset" abs(offset_dist) pline mypt "")
    6、i=i+1
    结束循环
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-1-22 11:22:00 | 显示全部楼层

能详细介绍一下吗?

divide ---> pline 分为(* (cdr (assoc 90 (entget pline))) 3) 份后,提取点数据points。 为什么要分为(* (cdr (assoc 90 (entget pline))) 3) 份?
另,多义线pline是否可以不封闭?
 楼主| 发表于 2003-1-22 19:04:00 | 显示全部楼层

回复

1、分多几分的目的是解决多以线中存在圆弧时,可以取得圆弧上的点。
2、多以线可以不封闭,解决办法为:
   a、封闭pline,执行程序。
   b、还原为不封闭的pline
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 04:47 , Processed in 0.149853 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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