|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢' r0 V7 ]$ f" U) u v5 h* T9 J
产生“V”字型的样例:
9 g* n1 A- k* A1 V, |7 Avoid defineBlock()
4 Q" z1 {- X: `{
) g- _* h* W, |: S AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();0 Q! N; m7 q6 P6 G
pBTableRec1->setName("VSBlock");
5 x9 b+ h: M5 d1 M AcDbBlockTable *pBTable=NULL;
: d* Z+ T& T$ |' `2 C acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);1 m) J; U5 E2 V( f0 ?% L+ N5 A! t n
AcDbObjectId id1;
. F5 g, u+ `1 ?8 a! E) f/ n4 C pBTable->add(id1,pBTableRec1);+ w: S6 m+ h7 e3 `! a4 W! o: N
pBTable->close();9 ~( ?1 z5 f6 |, c/ t( C
AcGePoint3dArray ptArr1;
5 o8 R5 b, `$ K" l3 i: y ptArr1.setLogicalLength(3);) O, Q" N) ?2 c3 _
ptArr1[0].set(-2,3,0);
0 R, E& X8 Y3 k4 J8 D ptArr1[1].set( 0,0,0);4 {/ c. o8 t# Q- u
ptArr1[2].set( 2,3,0);
7 F& @$ ~( c6 {/ ~* h1 d3 z1 \ AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);, ?$ v" o8 c6 p, C1 `3 v! c! M
pBTableRec1->appendAcDbEntity(pPline1);% e6 W( ~" F# }1 l! t( V6 z
pBTableRec1->close();1 }3 o) M9 Y l! Z; O) \" ~
pPline1->close();
& w$ V. z& }+ |} |
|