|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
* D& v+ z( x0 |" O8 z. P9 o+ C产生“V”字型的样例:
+ g" _5 K) [% ~, [. y* K* ~void defineBlock()
6 R5 s7 p% z, n6 S/ K{1 ?# b1 p4 ^# ]+ c
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
3 l2 }" V% s/ S4 t# N* ^8 @ pBTableRec1->setName("VSBlock");
7 E/ t7 q; h2 \ AcDbBlockTable *pBTable=NULL;
; Y# P1 |0 J& g4 T6 s acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);
& R3 A( A$ t6 r6 C AcDbObjectId id1;
" c/ L, e* e0 J" k. ?; O- G/ b: Q pBTable->add(id1,pBTableRec1);
- q4 B& S) A5 h. M pBTable->close();
+ `9 j. C, D/ J2 K AcGePoint3dArray ptArr1;
# W# I( c& D# W% F$ w% B ptArr1.setLogicalLength(3);- d! p; d+ o) q) y, N
ptArr1[0].set(-2,3,0);2 q1 P y) D/ i6 ^9 k! V
ptArr1[1].set( 0,0,0);3 c$ \; _# L: @& U" T3 }% |
ptArr1[2].set( 2,3,0);
) c* c; j+ M& j: _4 a AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);6 E3 \8 U8 I$ ?; n5 H$ k3 _- O2 g# M
pBTableRec1->appendAcDbEntity(pPline1);. Z) l) X& `3 _" P' `7 {) P
pBTableRec1->close();
8 {$ e0 Q- l* C7 F+ x( O$ } pPline1->close();
) G; X8 f% a0 }8 ~5 c& L} |
|