|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢& d. r. M; d" {1 V& q
产生“V”字型的样例:
2 L7 @- b+ J. h# Wvoid defineBlock()
- q0 E8 C4 l# p" h$ x! v4 q{' b b! s0 b0 E; S4 X
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();/ C3 x" Z! P8 g' q- I
pBTableRec1->setName("VSBlock");- K% H( h6 E% C
AcDbBlockTable *pBTable=NULL;
: \; h$ T+ J8 V! j( w2 J$ G- ~ acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);
$ x9 F4 b0 }" D( `7 |3 G+ e( y AcDbObjectId id1;- C& G& V, F( [, f; K) `
pBTable->add(id1,pBTableRec1);- c p4 p M, {4 V& f2 f( w g7 m
pBTable->close();
( ?9 F5 X! i7 ]& ]: ]: } AcGePoint3dArray ptArr1;
4 ~2 G c" A+ ]( I" q2 H9 ~6 m ptArr1.setLogicalLength(3);
5 }, n% P4 S r6 _, [. b# ]3 Z ptArr1[0].set(-2,3,0);9 U2 ^; I: p+ R$ e
ptArr1[1].set( 0,0,0);3 o B: S; B1 x/ U ^
ptArr1[2].set( 2,3,0);5 P% E5 h4 Z9 Z* K8 x( y3 H
AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);% M! Y. b! P7 j1 E& W
pBTableRec1->appendAcDbEntity(pPline1);
& h6 t8 {0 P# \1 c2 K- K( [ pBTableRec1->close();
# z' V& k: J" f$ ?2 z% O7 s+ L pPline1->close();
3 S9 R# a A3 x; m} |
|