|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢, X5 R: ~0 \' ?; w: _
产生“V”字型的样例:
- H2 X$ f, [' H+ w' xvoid defineBlock()
. H4 B! D4 J! C7 f2 C{
2 i6 ?) `/ \# x0 d$ ]1 m AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();6 ]+ R* T) O/ ^
pBTableRec1->setName("VSBlock");
. F& X% r2 Y `) f( L( s AcDbBlockTable *pBTable=NULL;/ P: J+ \% U0 k6 N
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);: L g1 C' X5 x; t6 S3 E2 u3 b
AcDbObjectId id1;+ V5 W3 V7 o. \" n- a1 H, e/ o( M
pBTable->add(id1,pBTableRec1);! A4 j; ?$ @5 n
pBTable->close();
( [9 l3 u& c& u) l AcGePoint3dArray ptArr1; N; v. B3 C4 _; E' q) t! y, o
ptArr1.setLogicalLength(3);
" F0 x& ]% O# K4 C0 k ptArr1[0].set(-2,3,0);0 J4 l% Z7 S* f" Q, ?: {. H
ptArr1[1].set( 0,0,0);3 r* A+ F7 A5 p6 o" a+ u
ptArr1[2].set( 2,3,0);
: P0 h& Q' A f1 S5 ] AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);
0 O- e: k; [2 ~/ o pBTableRec1->appendAcDbEntity(pPline1);
( ^$ A1 G, K5 k. R6 c. o pBTableRec1->close();$ j' a* ]! X" V5 h* d
pPline1->close();
. Z. B- z- d* F( J} |
|