|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
$ E7 q4 q& i) Q9 v# n产生“V”字型的样例:: D' r7 {& X* P, A _ [
void defineBlock()7 h. I- w8 l2 ]7 D3 N" L$ |9 }! k
{3 t% b# G2 G! u& {5 d; C/ N8 c
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
3 n6 H/ n5 @. e# g% v* m% b% N pBTableRec1->setName("VSBlock");) D/ Q6 d/ r, ~9 ~3 M1 T
AcDbBlockTable *pBTable=NULL;% O% q1 h1 m' ^1 T
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);1 A7 O+ N2 _( x) a
AcDbObjectId id1;
6 p7 l7 Q& k1 K# G; Z1 j pBTable->add(id1,pBTableRec1);
8 H' w1 e: b% M% | w$ | pBTable->close();
( S, h9 @8 m3 X0 | AcGePoint3dArray ptArr1;
) Z2 [. n! W9 B4 d9 p4 F ptArr1.setLogicalLength(3);
@/ n, D) W4 _* M& i ptArr1[0].set(-2,3,0);" |6 _6 u0 R, i5 c
ptArr1[1].set( 0,0,0);0 H# ~* S* `: c7 \% L
ptArr1[2].set( 2,3,0);; f( |6 j7 Z! o, q5 R
AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);2 x! B9 H4 V' }0 F+ c4 |4 p' I/ K8 y
pBTableRec1->appendAcDbEntity(pPline1);0 A9 r" a# x. v" U
pBTableRec1->close();
4 i* S2 e6 j; h' g6 L. P1 u pPline1->close();. Z+ c+ f0 j i. S$ E7 e. E
} |
|