明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2175|回复: 9

[讨论]一起来编一个单向offset

[复制链接]
发表于 2004-5-30 16:37:00 | 显示全部楼层 |阅读模式
RetVal = object.Offset(Distance) Object Arc, Circle, Ellipse, Line, LightweightPolyline, Polyline, Spline, XLine
使用该方法的对象。 Distance Double[双精度]; 仅用于输入
该方法中的“Distance”是用来指定偏移距离的。 偏移可以是正值或负值,但不能等于0。如果偏移为负值,这意味着将得到更“小”的曲线 (例如,一个圆以负值偏移后的得到的圆的半径将会比原对象半径小). 如果“小”没有意义,则AutoCAD将向小的X,Y,Z WCS坐标方向偏移。如果偏移距离无效,则返回错误。
[明经通道特别提示]对于的 LightweightPolyline 和 Polyline 对象,曲线有顺时针方向和逆时针方向,对于顺时针方向,距离值为正值时为向内偏移,距离值为负值时为向外偏移。对于逆时针时刚好相反。对于自相交的多段线的偏移方向需要自己慢慢实践了。

RetVal Variant[变体] (对象数组)
可以以原始对象来偏移出一系列的新曲线对象。 讨论:一起来编一个单向offset,让distance >0 时,pl线无关时针方向,总是得到面积更大方向的偏移实体(向外偏移)。反之,。。。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-5-30 17:14:00 | 显示全部楼层
就是要判断LightweightPolyline 和 Polyline 的点的顺序的问题吧? 好像没这么简单? 把偏移以后的曲线与前一个曲线比较一下不就可以了,如果长度小,就反方向做偏移
发表于 2004-5-30 17:39:00 | 显示全部楼层
这种怎么算?而且SPLINE OFFSET后可能产生多条曲线


本帖子中包含更多资源

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

x
 楼主| 发表于 2004-5-30 18:00:00 | 显示全部楼层
这个可以这么判断:


如果偏移为负值,这意味着将得到更“小”的曲线 (例如,一个圆以负值偏移后的得到的圆的半径将会比原对象半径小). 如果“小”没有意义,则AutoCAD将向小的X,Y,Z WCS坐标方向偏移。


如下图:红线是dist>0时候的偏移效果

本帖子中包含更多资源

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

x
 楼主| 发表于 2004-5-30 18:04:00 | 显示全部楼层
不过这个问题可能比较复杂,还是约定在“闭合曲线”的范围里面吧
发表于 2004-5-30 21:17:00 | 显示全部楼层
也就是说对偏移方法的完善吧。让它不论是哪种曲线都会按照负值向小的方向偏移。
发表于 2004-5-31 09:10:00 | 显示全部楼层
没搞明白无痕说的是要哪种效果,传个演示的上来看看是不是这个意思


晕 700KB 的附件上传不上来吗??最大可以上传多大的
发表于 2004-5-31 09:19:00 | 显示全部楼层



分成两个文件了

本帖子中包含更多资源

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

x
发表于 2004-5-31 10:43:00 | 显示全部楼层
好像和你的演示无关,是指曲线的Offset方法


不过如果是单纯的封闭曲线Offset方法的改进就稍微简单点了
 楼主| 发表于 2004-6-1 00:28:00 | 显示全部楼层
其他情况得要先有个界定,比如自相交的,有的向内offset,面积反而变大,dist>0时候应该按什么来偏移,需要个大家比较认同的界定方法。这里仅举一例来说明,如果要做适应范围更广的,最好先对各种情况有个统一的界定方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 08:17 , Processed in 0.186170 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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