- UID
- 59465
- 积分
- 267
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-6-18
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2003-8-11 10:44:02
|
显示全部楼层
.....
上面的就是代码(详细的代码很啰嗦)。我用这个方法把别的系统变量都可以更改,就这个不行。。

- [FONT=courier new]
- void LineDim()
- {
- AcDbObjectId LayId,DimStyId,CurLayId;
- ads_point pt1,pt2,pt3;
- char strTxtName[50];
- //取得当前层的ID
- CurLayId = acdbCurDwg()->clayer();
- gCyz_ArxBegin();
- //打开捕捉模式
- gCyz_OsnapOn();
- //取得LBIAOZHU层的ID
- LayId = gConfig.GetLayerId(LBIAOZHU);
- //取得TBIAOZHU标注文字名称
- gConfig.GetTextInfo(TBIAOZHU,NULL,NULL,NULL,NULL,NULL,strTxtName);
- //取得标注风格ID
- // DimStyId = gConfig.GetDimStyleId();
- gCyz_ArxEnd();
- /**********设置尺寸标注的系统变量**********/
- //设置Modify Dimension Dialog box
- gGlobal.SetVar("ddcolor",3);
- //设置Geometry Dialog box
- gGlobal.SetVar("DIMDLI",0); //设置Dimension Line的Spacing为0
- gGlobal.SetVar("DIMEXE",250); //设置Extension Line的Extension
- gGlobal.SetVar("DIMEXO",250); //设置Extension Line的Origin Offset
-
- gGlobal.SetVar("DIMSAH",1);
- gGlobal.SetVar("DIMCEN",0); //设置Center为None
- gGlobal.SetVar("DIMBLK1",6); //设置ArrowHeads类型 "architectural ticks"
- gGlobal.SetVar("DIMBLK2",6); //设置ArrowHeads类型
- gGlobal.SetVar("DIMASZ",100); //设置ArrowHeads尺寸
- //设置Format Dialog box
- gGlobal.SetVar("DIMFIT",5); //设置Fit为No Leader
- gGlobal.SetVar("DIMTAD",1); //设置Vertical Justification为above
- gGlobal.SetVar("DIMTIH",0); //设置Text的Inside为off
- gGlobal.SetVar("DIMTOH",0); //设置Text的Outside为off
- //设置Annotation Dialog box
- gGlobal.SetVar("DIMCLRT",7); //设置文字颜色为白色
- gGlobal.SetVar("DIMTXT",250); //设置文字宽度
- gGlobal.SetVar("DIMGAP",70); //设置文字高度
- gGlobal.SetVar("DIMDEC",0); //设置尺寸小数位
- gGlobal.SetVar("DIMTXSTY",strTxtName); //设置文样式(字体)
-
- //设置尺寸小数位
- gGlobal.SetVar("DIMZIN",0);
- gGlobal.SetVar("DIMTZIN",0);
-
- acdbCurDwg()->setClayer(LayId);
-
- ads_getpoint(NULL,"\n请选择标注起点.",pt1);
- ads_getpoint(pt1,"\n请选择标注终点.",pt2);
-
- int retCode = ads_command(RTSTR,"_dimlinear",RTPOINT,pt1,RTPOINT,pt2,RTNONE);
- }
- [/FONT]
- [FONT=courier new]
- 谢谢先
- 斑竹,你在程序里面改过了没?
- 我是第一次改,两种方法都用过了:名字和Index(如第一贴和第三贴所示)
- 但都没有效果。
- 而且比较奇怪的是就算在CAD里面直接用命令改也不行,
- 以下是在CAD里面输入的情况:
- Command: dimblk
- New value for DIMBLK, or . for none <"DOT">: Box
- Block BOX not defined
- Cannot set DIMBLK to that value.
- 但box在Arrowheads的类型里面明明有的。。。居然说没有。。。
- 不过如果用CAD编辑里面的属性来更改Arrowheads的类型则都可以。。
- 难道程序里面要更改Arrowheads的类型就只能自己定义外部块吗?
- 请高手指点~~~ 谢谢了~
- [/FONT]
复制代码 |
|