|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
& C2 W2 |" \6 W/ a9 R产生“V”字型的样例:
( R+ T2 G$ i4 _. dvoid defineBlock()
( ^3 i# [4 B6 c4 z/ \{$ }5 a2 \ V- G: {4 {0 g; e
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();1 u2 b- b+ w, J4 Q, p. D
pBTableRec1->setName("VSBlock");
$ e6 Z! U+ O) v1 a3 J5 X AcDbBlockTable *pBTable=NULL;
9 S+ t' A' }! x5 L b acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);; g! J7 [- ^1 D' I
AcDbObjectId id1;
2 k' J% A: ~1 p6 Z8 u# ? pBTable->add(id1,pBTableRec1);8 S: a4 S7 O6 y' s: [
pBTable->close();! l* F, M% w( Y7 Z, G1 I
AcGePoint3dArray ptArr1;+ z/ v! ]+ i U0 u0 E; Y
ptArr1.setLogicalLength(3);
f, y4 N& ?( t. Y2 z) d& g3 d ptArr1[0].set(-2,3,0);
3 Y3 \8 Y# S* Q" X. k! L) A# `# e ptArr1[1].set( 0,0,0);8 V7 A2 Q* |3 G: I, ]
ptArr1[2].set( 2,3,0);6 X. s9 f1 p" _. ~0 V1 d. S
AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);* u# s4 D5 ~% o7 f; k) c
pBTableRec1->appendAcDbEntity(pPline1);
6 Z4 X- a% m! P) H# n. H% v( G pBTableRec1->close();) `5 O: q* J: I$ R
pPline1->close();
# C. e& N# g% d! `2 Q8 o$ I} |
|