|

楼主 |
发表于 2008-10-28 14:13:34
|
显示全部楼层
来自: 中国山东烟台
本人找到了一个这样的例子,但改写成函数却行不通,到底问题出在什么地方呢
1 S' t/ a. c' N# e7 {* ] ?5 C6 \7 }产生“V”字型的样例:
- b. _' D* H; |' o9 x1 Kvoid defineBlock()+ }; Q6 P7 q8 D/ `
{
0 ^- w1 K( L& d9 k3 p AcDbBlockTableRecord *pBTableRec1=new AcDbBlockTableRecord();
/ w: }3 [2 \$ x! F( j! { pBTableRec1->setName("VSBlock");' Q0 D8 S) R: V$ x% D4 ?
AcDbBlockTable *pBTable=NULL;% o$ w9 c2 u( H d) n. A
acdbCurDwg()->getBlockTable(pBTable,AcDb::kForWrite);4 C$ [! M0 x9 l+ R- a! x" D5 ]. y
AcDbObjectId id1;6 g' D& }1 p" b: Y8 D( v+ t6 ?
pBTable->add(id1,pBTableRec1);
+ z6 \8 A3 [! d pBTable->close();
6 K6 Z9 ]) b5 z AcGePoint3dArray ptArr1;& e: J8 o1 F, R& i# L9 R
ptArr1.setLogicalLength(3);/ y0 N. ~+ a/ ^; ^$ @$ H
ptArr1[0].set(-2,3,0);+ N+ S& ?- ^" Z* t: G+ v% ^7 w3 t
ptArr1[1].set( 0,0,0);
+ r$ Q" a/ ~& u. C$ |9 M ptArr1[2].set( 2,3,0);! H4 Q) ~" q0 D& L$ e. y
AcDb2dPolyline *pPline1=new AcDb2dPolyline(AcDb::k2dSimplePoly,ptArr1,0.0,Adesk::kFalse);/ m5 S9 G# W: Z q9 T1 {
pBTableRec1->appendAcDbEntity(pPline1);
2 X" J9 L% f, ~% u. v pBTableRec1->close();9 ?1 G' i+ E# B9 h
pPline1->close();
( z$ q3 f+ H* a$ G" S( W} |
|