wjfling 发表于 2003-11-17 16:26:00

斑竹,不好意思,你给的图形外扩内扩代码不行呀,帮忙解决一下

我用Polyline建立一个闭合的三角形,应该外扩为图1中的黄色样式,可我用你的代码却显示为如图2中黄色所示的样式,这个问题非常紧急忙,请帮帮忙!

今晚打老虎 发表于 2003-11-17 17:23:00

直接在程序里用offset就能实现外扩内扩阿~~~
sub sOffSet()
dim objPLine as AcadPolyLine
dim aPnt(0 to 8) as double
aPnt(0)=0:aPnt(1)=0:aPnt(2)=0
aPnt(3)=100:aPnt(4)=0:aPnt(5)=0
aPnt(6)=100:aPnt(7)=100:aPnt(8)=0
set objPLine=thisdrawing.modelSpace.addPolyLine(aPnt)
objPLine.offset 10
objPLine.offset -10
end sub
这是二次开发帮助里的...

想扩现有对象,建立各临时选择集,判断对象类型,然后调用offset就行了~~~

wjfling 发表于 2003-11-17 18:07:00

真的管用,谢谢你

mccad 发表于 2003-11-17 22:14:00

那是你自己没有说清楚:
1.第一次时大家都说用偏移,你说不对
2.第二次时问你是否上下左右均扩展相同的宽度,你说是
3.所以就给你写了个程序,你可以自己量量是不是上下左右均扩展相同的距离。
4.你的图1是怎么画出来的,你先说说你画的方法,因为按图面应该不是直接偏移(因为右边的线与原线不平行,而且三个边与扩展边的距离不等)。

wjfling 发表于 2003-11-18 10:04:00

不好意思,我理解错了,误导了:)
页: [1]
查看完整版本: 斑竹,不好意思,你给的图形外扩内扩代码不行呀,帮忙解决一下