找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 442|回复: 6

[求助]:关于尺寸标注的Arrowheads类型的设置

[复制链接]
发表于 2003-8-5 16:25:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我想在系统里面设置Arrowheads的类型
用如下代码:

  1.   [FONT=courier new]
  2. gGlobal.SetVar("DIMBLK","architectural ticks");    //设置ArrowHeads类型
  3. 或者
  4. gGlobal.SetVar("DIMBLK",6)//设置ArrowHeads类型,architectural ticks是ArrowHeads的第7个类型
  5.   [/FONT]
复制代码


但却没有实现效果?请高手指点~~
(不要用自己定义外部块的方法,我想直接用修改属性实现)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-8-11 08:59:10 | 显示全部楼层
如果你修改标注箭头的属性,你修改系统变量 DimBlk1和DimBlk2试试!!
:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-11 10:00:13 | 显示全部楼层
斑竹,我以前有改过的,但这个方法行不通的。。。。
如果两边的ArrowHeads类型设置不同的时候用DimBlk1和DimBlk2,如果设置的是同一类型的时候用DimBlk。


  1.   [FONT=courier new]
  2.         gGlobal.SetVar("DIMBLK1",6);    //设置ArrowHeads类型  
  3.         gGlobal.SetVar("DIMBLK2",6);    //设置ArrowHeads类型

  4. 或者
  5.            gGlobal.SetVar("DIMBLK1","architectural ticks");    //设置ArrowHeads类型  
  6.         gGlobal.SetVar("DIMBLK2","architectural ticks");    //设置ArrowHeads类型

  7.   [/FONT]
复制代码


真郁闷阿,开了这个属性怎么不能改呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-11 10:32:46 | 显示全部楼层
其实在autoCAD系统中对这个系统变量是可以修改的。
你把你的代码帖出来看看什么问题!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-11 10:44:02 | 显示全部楼层
.....
上面的就是代码(详细的代码很啰嗦)。我用这个方法把别的系统变量都可以更改,就这个不行。。

  1.   [FONT=courier new]
  2. void LineDim()
  3. {
  4.         AcDbObjectId LayId,DimStyId,CurLayId;
  5.         ads_point pt1,pt2,pt3;
  6.         char strTxtName[50];
  7.         //取得当前层的ID
  8.         CurLayId = acdbCurDwg()->clayer();
  9.         gCyz_ArxBegin();
  10.         //打开捕捉模式
  11.         gCyz_OsnapOn();
  12.         //取得LBIAOZHU层的ID
  13.         LayId = gConfig.GetLayerId(LBIAOZHU);
  14.         //取得TBIAOZHU标注文字名称
  15.         gConfig.GetTextInfo(TBIAOZHU,NULL,NULL,NULL,NULL,NULL,strTxtName);
  16.         //取得标注风格ID
  17. //        DimStyId = gConfig.GetDimStyleId();
  18.         gCyz_ArxEnd();

  19.         /**********设置尺寸标注的系统变量**********/
  20.         //设置Modify Dimension Dialog box
  21.         gGlobal.SetVar("ddcolor",3);

  22.         //设置Geometry Dialog box
  23.         gGlobal.SetVar("DIMDLI",0);            //设置Dimension Line的Spacing为0      
  24.         gGlobal.SetVar("DIMEXE",250);                   //设置Extension Line的Extension
  25.         gGlobal.SetVar("DIMEXO",250);          //设置Extension Line的Origin Offset
  26.        
  27.         gGlobal.SetVar("DIMSAH",1);
  28.         gGlobal.SetVar("DIMCEN",0);                         //设置Center为None
  29.         gGlobal.SetVar("DIMBLK1",6);    //设置ArrowHeads类型  "architectural ticks"
  30.         gGlobal.SetVar("DIMBLK2",6);    //设置ArrowHeads类型
  31.         gGlobal.SetVar("DIMASZ",100);                       //设置ArrowHeads尺寸

  32.         //设置Format Dialog box
  33.         gGlobal.SetVar("DIMFIT",5);  //设置Fit为No Leader
  34.         gGlobal.SetVar("DIMTAD",1);  //设置Vertical Justification为above
  35.         gGlobal.SetVar("DIMTIH",0);  //设置Text的Inside为off
  36.         gGlobal.SetVar("DIMTOH",0);  //设置Text的Outside为off

  37.         //设置Annotation Dialog box
  38.         gGlobal.SetVar("DIMCLRT",7);   //设置文字颜色为白色

  39.         gGlobal.SetVar("DIMTXT",250);  //设置文字宽度
  40.         gGlobal.SetVar("DIMGAP",70);  //设置文字高度
  41.         gGlobal.SetVar("DIMDEC",0);    //设置尺寸小数位

  42.         gGlobal.SetVar("DIMTXSTY",strTxtName);   //设置文样式(字体)
  43.        

  44.         //设置尺寸小数位
  45.         gGlobal.SetVar("DIMZIN",0);   
  46.         gGlobal.SetVar("DIMTZIN",0);   

  47.        
  48.         acdbCurDwg()->setClayer(LayId);
  49.        
  50.         ads_getpoint(NULL,"\n请选择标注起点.",pt1);
  51.         ads_getpoint(pt1,"\n请选择标注终点.",pt2);
  52.        
  53.         int        retCode = ads_command(RTSTR,"_dimlinear",RTPOINT,pt1,RTPOINT,pt2,RTNONE);
  54. }
  55.   [/FONT]



  1.   [FONT=courier new]
  2. 谢谢先
  3. 斑竹,你在程序里面改过了没?
  4. 我是第一次改,两种方法都用过了:名字和Index(如第一贴和第三贴所示)
  5. 但都没有效果。

  6. 而且比较奇怪的是就算在CAD里面直接用命令改也不行,
  7. 以下是在CAD里面输入的情况:

  8. Command: dimblk
  9. New value for DIMBLK, or . for none <"DOT">: Box
  10. Block BOX not defined
  11. Cannot set DIMBLK to that value.

  12. 但box在Arrowheads的类型里面明明有的。。。居然说没有。。。


  13. 不过如果用CAD编辑里面的属性来更改Arrowheads的类型则都可以。。
  14. 难道程序里面要更改Arrowheads的类型就只能自己定义外部块吗?
  15. 请高手指点~~~ 谢谢了~

  16.   [/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-11 14:18:46 | 显示全部楼层
看看下面这个你就不会说“但box在Arrowheads的类型里面明明有的。。。居然说没有。。。”了,呵呵。


Type: String
Saved in: Drawing
Initial value: ""
Sets the arrowhead block displayed at the ends of dimension lines or leader lines. To turn off arrowheads, enter a single period (.). Arrowhead block entries and the names used to select them in the New, Modify and Override Dimension Style dialog boxes are shown below. You can also enter the names of user-defined arrowhead blocks.

""         closed filled
"_DOT"         dot
"_DOTSMALL"         dot small
"_DOTBLANK"         dot blank
"_ORIGIN"         origin indicator
"_ORIGIN2"         origin indicator 2
"_OPEN"         open
"_OPEN90"         right angle
"_OPEN30"         open 30
"_CLOSED"         closed
"_SMALL"         dot small blank
"_NONE"         none
"_OBLIQUE"         oblique
"_BOXFILLED"         box filled
"_BOXBLANK"         box
"_CLOSEDBLANK"         closed blank
"_DATUMFILLED"         datum triangle filled
"_DATUMBLANK"         datum triangle
"_INTEGRAL"         integral
"_ARCHTICK"         architectural tick
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-11 15:01:21 | 显示全部楼层
呵呵,搞定了,谢谢~
哎,我真菜,帮助都用不好(我刚刚才查到你上面的东西,CAD中有的  :P  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 14:00 , Processed in 0.282141 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表