|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢7 u h" l( Z+ }: M7 w' |5 m3 @
产生“V”字型的样例:8 ~9 F; F4 W" |: x% B
void defineBlock()
* _& I/ J z( I( L) U0 a ^{
# d, _; j0 E/ f AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();0 S5 w$ g$ l- r1 b
pBTableRec1->setName("VSBlock");
E b% C& G4 W' B5 N AcDbBlockTable *pBTable=NULL;
) k3 n: z/ x0 @ acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);
$ J6 m1 y' u* }: X# _. f0 I, U AcDbObjectId id1;% W6 J) A: S; g# n9 n+ F( I, u
pBTable->add(id1,pBTableRec1);
+ r: G% h) ?4 q6 T pBTable->close();" w' N. I9 }! f" Z2 u0 _
AcGePoint3dArray ptArr1;) ^: x- K0 Y o4 `$ V+ h
ptArr1.setLogicalLength(3);3 P" }& r$ J8 \' K
ptArr1[0].set(-2,3,0);- W: {- B* l: F) R
ptArr1[1].set( 0,0,0);) \% {- W4 m. W t( p+ P! D
ptArr1[2].set( 2,3,0);
8 J- E P8 }# Q8 q9 B" S3 Y' z AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);
" R6 V& h6 s; g' a j1 { pBTableRec1->appendAcDbEntity(pPline1);2 v* S% j( j1 u1 i
pBTableRec1->close();& s+ [( n0 V) m, Y4 R) B
pPline1->close();' B0 m- m3 _& h1 k5 j
} |
|