|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
0 A2 u( U8 F9 L, V3 f {( u产生“V”字型的样例: w# B8 K& C8 D+ ?3 \& F- I+ T
void defineBlock()
3 V; o$ \) g& @7 M W, ^ W/ u{
9 }( Q) [% ^" J1 G: P# _ AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();$ X9 P |2 D8 d+ c+ g
pBTableRec1->setName("VSBlock");- m1 k' E$ R' w
AcDbBlockTable *pBTable=NULL;1 Y% J( d e$ B* X# E
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);* [" {; C5 a1 Y- Y7 N
AcDbObjectId id1;# Y& s; t: W2 i2 c
pBTable->add(id1,pBTableRec1);
' W3 e5 C* z' t+ z, l pBTable->close();% L2 P: P# s: `( A! J/ Y
AcGePoint3dArray ptArr1;
5 s) ?; n5 Z: g6 u ptArr1.setLogicalLength(3);
& `% ]- Y8 J+ D& m/ c7 q- i0 N ptArr1[0].set(-2,3,0);
# _: ^0 y4 P) k) Z5 \. q5 R ptArr1[1].set( 0,0,0);
' ~! a" G! x5 p# q0 F7 ? ptArr1[2].set( 2,3,0);
/ @2 n4 {( y; |7 w9 R: j/ O AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);5 \7 I1 M1 ?) b' G8 y
pBTableRec1->appendAcDbEntity(pPline1);7 _1 t! S& L+ }+ p, i: ]& j- ~
pBTableRec1->close();& T+ z g& Q. S3 c
pPline1->close();
+ p- z) \; J& H' h9 c5 k' v} |
|