|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢9 x% o$ O5 S- K+ ?* Y
产生“V”字型的样例:' Z2 D. I6 Z0 g# r/ H
void defineBlock()
) p8 g% ?; k! M, u# [, T{) Q# S, k4 V V9 L$ f* E
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
& i* k3 D+ N2 s+ {" T& N pBTableRec1->setName("VSBlock");
4 |9 E7 [2 o3 T; |( z AcDbBlockTable *pBTable=NULL;: ~' i+ g: }2 Z( ] h2 @6 k
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite); D! {2 V0 D% Z i! W8 A3 A4 l
AcDbObjectId id1;
" O+ \2 x; _5 `1 Z. H7 W& ^" F7 x pBTable->add(id1,pBTableRec1);
: `1 T' ~) h& b5 ~* e pBTable->close();
& ^4 U. @: D% {* J AcGePoint3dArray ptArr1;
9 i, ?3 `# M. Q8 f/ r6 n- h1 r+ C ptArr1.setLogicalLength(3);
8 ~ f, N, d# H! e5 a! n/ ? Z ptArr1[0].set(-2,3,0);; V; t! p$ Q5 v# h' p! e
ptArr1[1].set( 0,0,0);
& k2 {+ O% N B4 t6 h7 J; j% X M ptArr1[2].set( 2,3,0);
3 t6 G, ~1 |2 d+ T AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);! P) D/ e% ~9 L6 X; M' F, E9 {
pBTableRec1->appendAcDbEntity(pPline1);
0 x3 `# l: R. X3 e M pBTableRec1->close();7 J1 |1 L) T$ ^& m: u
pPline1->close();
% ]5 @2 s) }4 i* \} |
|