明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2126|回复: 3

CAD 多段线的生成

[复制链接]
发表于 2011-8-26 16:08:32 | 显示全部楼层 |阅读模式
请大家帮帮忙、、、、、
如下代码:
     Point2dCollection pc = new Point2dCollection();
     Polyline pl = new Polyline();
        for(int i=0;i<pc.Count;i++)
           {
               double bug = 0;
            pl.AddVertexAt(i, pc[i], bug, 0, 0);
           }
这段代码是添加一个多段线,我想问下,  AddVertexAt()方法中,bug参数的用途和作用,或它的值的大小意味着什么 ? (我知道的是:当bug=0时,代表那段多段线是条实现)   如何我要在多段线的某段不是直线,而是要画段弧,该怎么控制bug这个参数呢?  
发表于 2011-8-27 11:11:52 | 显示全部楼层
Bulge的意思是:圆心角正切值的四分之一。
发表于 2011-8-27 13:32:37 | 显示全部楼层
本帖最后由 sieben 于 2011-8-27 13:33 编辑

去看AutoCAD 里面 Lisp 的帮助 ,搜 Bulge

Codes 00C and 00D: Bulge-Specified Arcs
Special codes 00C and 00D (12 and 13) provide another mechanism for including arc segments in shape descriptions. They are similar to codes 8 and 9 in that you can use them to specify XY displacements. However, codes 00C and 00D draw arcs by applying a bulge factor to the displacement vector. Code 00C draws one arc segment, while code 00D draws multiple arc segments (polyarcs) until it is terminated by a (0,0) displacement.

Code 00C must be followed by three bytes describing the arc:

0C,X-displacement,Y-displacement,Bulge
Both the X and Y displacement and the bulge, which specifies the curvature of the arc, can range from –127 to +127. If the line segment specified by the displacement has length D, and the perpendicular distance from the midpoint of that segment has height H, the magnitude of the bulge is ((2 * H / D) * 127). The sign is negative if the arc from the current location to the new location is clockwise.



A semicircle has bulge 127 (or –127) and is the greatest arc that can be represented as a single-arc segment using these codes (use two consecutive arc segments for larger arcs). A bulge specification of 0 is valid and represents a straight-line segment. Note, however, that using code 8 for a straight-line segment saves a byte in the shape description.

The polyarc code (00D, or 13) is followed by 0 or by more arc segment triples, and is terminated by a (0,0) displacement. Note that no bulge is specified after the final displacement. For example, the letter S might be defined by the following sequence:

13,(0,5,127),(0,5,-127),(0,0)
Zero bulge segments are useful within polyarcs to represent straight segments; they are more efficient than terminating the polyarc, inserting one straight segment, and then starting another polyarc.

The number –128 cannot be used in arc segment and polyarc definitions.

帮助里是有个图片的,没有显示出来
发表于 2011-8-27 17:23:56 | 显示全部楼层
凸度的意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 20:20 , Processed in 0.151514 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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