|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
0 C2 Y( {# E; m! a产生“V”字型的样例:
. q& B. i' M. O( G5 fvoid defineBlock()
6 {1 V: I7 q* ~: s{: x5 x' X4 Z \
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
) [3 H; {$ k5 t3 P pBTableRec1->setName("VSBlock");
' A6 u$ a6 q! \/ T AcDbBlockTable *pBTable=NULL;5 C" [1 S$ E" t ]5 j) [
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);; J3 J, P" |, Y
AcDbObjectId id1;
1 a' z9 a6 L( e7 R! y/ ]6 R pBTable->add(id1,pBTableRec1);
?4 e! K& g, L' n pBTable->close();) O% K9 I6 `' S' x0 d4 Y4 h
AcGePoint3dArray ptArr1;
) k$ X, O" B& d( q/ R ptArr1.setLogicalLength(3);
$ H- B- |. A& N$ M ptArr1[0].set(-2,3,0);1 }" q/ y% I; h6 W9 p* Z9 h1 U
ptArr1[1].set( 0,0,0);; }; Q4 I I0 N) l+ y
ptArr1[2].set( 2,3,0);
2 Y. s; F' _0 t$ F. q Z AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);
+ d* _" P9 f3 I3 @ pBTableRec1->appendAcDbEntity(pPline1);
' ^3 q/ e4 q- ]0 }* {6 | pBTableRec1->close();
. Q) O2 K. E, G5 c( f pPline1->close();' o5 W# e% M: U' S( t6 M7 G6 E7 P! C
} |
|