|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
$ n! S4 a' k- n% G9 i产生“V”字型的样例:
/ N% w1 b& U. T# D- h9 c0 ivoid defineBlock()+ x% d1 Z' }- @2 W5 a
{
5 ^) z- C) D' k: z' y- h4 g AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
0 K2 j+ G& P" Z pBTableRec1->setName("VSBlock");
( r+ s4 A% s% K r4 x0 C9 G AcDbBlockTable *pBTable=NULL;0 B% d. ~. z3 N6 A. b4 n- @! s
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);5 f, a8 l# y5 c( u
AcDbObjectId id1;
# o1 r, M- a6 V, B. w' v$ G( Q pBTable->add(id1,pBTableRec1);& P ]% \3 [. E+ L$ G* h! |8 s
pBTable->close();
( f8 o( T4 X M4 t! L2 a AcGePoint3dArray ptArr1;
& a: J, G$ B1 `. U; h! H ptArr1.setLogicalLength(3);
+ ]# ?4 l7 _! w/ k. c, S! R ptArr1[0].set(-2,3,0);
. ^' |/ y) D+ T2 j# \! s) R ptArr1[1].set( 0,0,0);5 o* c5 k6 U9 ^/ _) h. M q
ptArr1[2].set( 2,3,0);4 v, u- r1 n1 u. c0 A: c
AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);/ j& f. a! q: ]: T
pBTableRec1->appendAcDbEntity(pPline1);
) D% L6 N: s, m: H pBTableRec1->close();
6 G% V" c0 b I O2 B pPline1->close();+ Q8 M0 g7 l/ D# i: q
} |
|