|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
8 ~8 l; F5 f3 R2 V' V5 v产生“V”字型的样例:9 L8 v; X( ?9 k
void defineBlock()& k" `7 [, t, X$ l; j# v9 v7 e V" f
{
1 @- d [ f2 m# o AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();' p. h: N C; Z# w0 A& R9 ^& r5 a; B
pBTableRec1->setName("VSBlock");
; b2 Z3 N- [: e: j0 U& q( c AcDbBlockTable *pBTable=NULL;. W* _& D$ E `0 {# P
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);. j# S+ x5 s6 O
AcDbObjectId id1;
" j b. I% W' E5 @) O5 U pBTable->add(id1,pBTableRec1);$ ^4 ]- K Q, h! A+ A
pBTable->close();" J4 P' ^; H0 q) b" M2 d/ b$ K
AcGePoint3dArray ptArr1;
8 K4 p9 x- D8 i2 n0 Z' ? ptArr1.setLogicalLength(3);" Q+ ~+ w2 i. T3 d9 S( S
ptArr1[0].set(-2,3,0);% m6 V9 B$ e G
ptArr1[1].set( 0,0,0);1 V: T) Y5 u3 s$ }1 r
ptArr1[2].set( 2,3,0);
) Q( d0 E5 L5 i+ f! t4 ^ AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);; z3 i: z K$ I+ I
pBTableRec1->appendAcDbEntity(pPline1);) ^; [7 W: v* P" O
pBTableRec1->close();
, e0 F6 a" c f0 l pPline1->close();$ x% ]8 T/ h9 Q6 ]) f
} |
|