找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 524|回复: 4

[ARX函数]:求助 如何在ARX中标注尺寸

[复制链接]
发表于 2003-9-2 09:40:27 | 显示全部楼层 |阅读模式

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

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

×
尺寸标住在ARX中怎么样来实现啊 谁能帮帮我啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-9-2 10:21:20 | 显示全部楼层
我曾经在这个论坛发过几个关于尺寸标注的帖子,虽然是问问题的,但很多已经解决了,你可以去参考参考。
用尺寸标注在论坛搜索下。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-2 18:45:35 | 显示全部楼层

Re: [ARX函数]:求助 如何在ARX中标注尺寸

最初由 jellyfish 发布
[B]尺寸标住在ARX中怎么样来实现啊 谁能帮帮我啊 [/B]


可以用下面的代码试试,但没有出错检查。



  1. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  2. //| 函数名:                                快速标注
  3. //|                                        DimBzLine()
  4. //|                                               
  5. //| 输入参数:                                ads_point pt1                        起点坐标
  6. //|                                        ads_point pt2                        终点坐标
  7. //|                                        int iTurnBz                        标注位置
  8. //|                                        double Dist                        标注间距
  9. //|                                        char *dimText                        标注文本
  10. //|                                       
  11. //| 返回:                        AcDbObjectId
  12. //| 说明:                        iTurnBz=1在左边标注、iTurnBz=-1在右边标注
  13. //|                                       
  14. //| 举例:                        略
  15. //|
  16. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  17. AcDbObjectId DimBzLine(ads_point pt1,ads_point pt2,int iTurnBz,double Dist,char *dimText)
  18. {
  19.         ads_point pt3,temp;
  20.         AcDbObjectId entityId;
  21.         if (draw) {
  22.                 AcDbObjectId styleId;
  23.                 AcDbDimStyleTable *pDimStyleTbl;

  24.                 if (acdbHostApplicationServices()->workingDatabase()->
  25.                         getDimStyleTable(pDimStyleTbl,AcDb::kForRead) != Acad::eOk) {
  26.                         return 0;
  27.                 }

  28.                 //设置标注样式表
  29.                 if (pDimStyleTbl->getAt("GlhdDimStyle",styleId) != Acad::eOk) {;}
  30.                
  31.                 if (pDimStyleTbl->close() != Acad::eOk) {
  32.                         return 0;
  33.                 }

  34.                 if (!GetAngLine(pt1,pt2,0,iTurnBz,PER,Dist,pt3,temp)) {return 0;}
  35.                        
  36.                 AcGePoint3d xLine1Point, xLine2Point,dimLinePoint;
  37.                
  38.                 //2D点转换3D点
  39.                 PoTo3d(pt1,xLine1Point);
  40.                 PoTo3d(pt2,xLine2Point);
  41.                 PoTo3d(pt3,dimLinePoint);

  42.                 AcDbAlignedDimension *pDim = new AcDbAlignedDimension(xLine1Point,
  43.                         xLine2Point,dimLinePoint,dimText,styleId);

  44.                 AcDbBlockTable *pBlockTable;

  45.                 if (acdbHostApplicationServices()->workingDatabase()->
  46.                         getBlockTable(pBlockTable,AcDb::kForRead) != Acad::eOk) {
  47.                         return 0;
  48.                 }

  49.                 AcDbBlockTableRecord *pBlockRecord;

  50.                 pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockRecord,
  51.                         AcDb::kForWrite);

  52.                 pBlockTable->close();

  53.                 pDim->setLayer("BZ");

  54.                 pBlockRecord->appendAcDbEntity(entityId,pDim);

  55.                 pBlockRecord->close();

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

使用道具 举报

发表于 2003-12-23 11:52:18 | 显示全部楼层
恩,不错,不过只有AcDbAlignedDimension类型的,应该可以在函数里面添加一个参数控制标注类型
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-16 08:57:40 | 显示全部楼层
好像还是不行吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 08:25 , Processed in 0.190064 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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