|
|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢0 P3 Y* Z- e) d2 k' M
产生“V”字型的样例:
/ q5 `/ A) G( M) W0 w4 s" O0 K# t" N3 mvoid defineBlock(): @& T$ i- L+ i K c/ j
{. [( ^8 n/ s& L+ J1 r
AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
2 |; P* d1 {, _2 T3 p% s pBTableRec1->setName("VSBlock");
, e% Q9 ^* P6 v AcDbBlockTable *pBTable=NULL;) s6 _: @, C8 _% H
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);, }/ ~9 I/ W, q, F7 q* W
AcDbObjectId id1;' G- v$ g5 R& a) J- l3 R. m
pBTable->add(id1,pBTableRec1);
5 e4 E! o# g; G7 B5 Z# D pBTable->close();
! H a. ]1 g" K& n3 N: g0 a7 J% { AcGePoint3dArray ptArr1;9 |% y2 H) a5 ?9 J, x
ptArr1.setLogicalLength(3);
! l4 E+ E" S4 X$ x6 ^$ a ptArr1[0].set(-2,3,0);' v. p3 n# V1 p
ptArr1[1].set( 0,0,0);
. O( _* C( V8 q8 P4 L1 l ptArr1[2].set( 2,3,0);3 z' c) a8 M, r! n& J, ~; U
AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);6 m0 J. H$ n @/ L7 K* f6 c7 K
pBTableRec1->appendAcDbEntity(pPline1);5 Z, l, I& Q: S
pBTableRec1->close();% x9 [8 I0 I3 }: h" D) o
pPline1->close();7 ~" m1 n! U f# f
} |
|