找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 637|回复: 8

[求助]:尺寸样式设定?

[复制链接]
发表于 2002-11-2 16:44:02 | 显示全部楼层 |阅读模式

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

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

×
如何用ARX创建尺寸样式,最好给出例子,非常感谢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-11-2 18:04:48 | 显示全部楼层
[php]
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
//| 函数名:                        设置标注样式
//|                                        SetDimBz()
//|                                               
//| 输入参数:                char *strDimTexSys                标注文字样式名
//|                                        char *strTexFileName        字体文件名
//|                                        char *strTexFont                字体名
//|                                        double rTexXScale                文字长宽比率
//|                                        double rTextSize                文字大小
//|                                        char *strDimSys                        标注样式名
//|                                        int iDimColor                        标注颜色号
//|                                        int iTextColor                        标注字体颜色
//|                                        double rDimexo        标注界限偏移
//|                                        double rDimexe        标注尺寸界限
//|                                        double rDimdli        标注尺寸线间距
//|                                        double rDimgap        标注文字偏移
//|                                        double rDimasz        标注箭头大小
//|                                        int iDimtad                        标注设定文字位置垂直
//|                                        int iDimtoh                        未知
//|                                        int iDimtih                        标注设定文字标注方式
//|                                        char *strDimblk                        标注设定箭头样式
//| 返回:                        BOOL
//| 说明:                        略
//|                                       
//| 举例:                        略
//|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
AcDbObjectId SetDimBz(char *strDimTexSys,char *strTexFileName,
                        char *strTexFont,double rTexXScale,double rTextSize,
                        char *strDimSys,int iDimColor,int iTextColor,
                        double rDimexo ,double rDimexe,double rDimdli,
                        double rDimgap ,double rDimasz,int iDimtad,
                        int iDimtoh,int iDimtih,char *strDimblk)
{
        AcCmColor color;
        AcDbObjectId syDimId;

        AcDbObjectId syBzTeId;
        AcDbTextStyleTable *pTextStyleTbl;

        if (acdbHostApplicationServices()->workingDatabase()->
                getTextStyleTable(pTextStyleTbl,AcDb::kForWrite) != Acad::eOk) {
                return 0;
        }
       
        if (pTextStyleTbl->getAt(strDimTexSys,syBzTeId) != Acad::eOk)
        {
                AcDbTextStyleTableRecord *pTextStyleTblRcd=new AcDbTextStyleTableRecord;
                pTextStyleTblRcd->setName(strDimTexSys);
                pTextStyleTblRcd->setFileName(strTexFileName);
                pTextStyleTblRcd->setFont(strTexFont,0,0,130,49);
                pTextStyleTblRcd->setXScale(rTexXScale);        //设定文字样式
                pTextStyleTblRcd->setTextSize(rTextSize);

                if (pTextStyleTbl->add(syBzTeId,pTextStyleTblRcd) != Acad::eOk) {
                        pTextStyleTblRcd->close();
                        pTextStyleTbl->close();
                        return 0;
                }
                if (pTextStyleTblRcd->close() != Acad::eOk) {
                        pTextStyleTbl->close();
                        return 0;
                }
        }

        if (pTextStyleTbl->close() != Acad::eOk) {
                return 0;
        }
       
        AcDbDimStyleTable *pDimStyleTbl;

        if (acdbHostApplicationServices()->workingDatabase()->
                getDimStyleTable(pDimStyleTbl,AcDb::kForWrite) != Acad::eOk) {
                return 0;
        }

        if (pDimStyleTbl->getAt(strDimSys,syDimId) != Acad::eOk)
        {

                AcDbDimStyleTableRecord *pDimStyleTblRcd=new AcDbDimStyleTableRecord;
                pDimStyleTblRcd->setName(strDimSys);
                color.setColorIndex(iDimColor);
                pDimStyleTblRcd->setDimclrd(color);                //尺寸线颜色
                pDimStyleTblRcd->setDimclre(color);                //尺寸边界线颜色
                color.setColorIndex(iTextColor);               
                pDimStyleTblRcd->setDimclrt(color);                //文字颜色
                pDimStyleTblRcd->setDimexo(rDimexo);        //界限偏移
                pDimStyleTblRcd->setDimexe(rDimexe);        //尺寸界限
                pDimStyleTblRcd->setDimdli(rDimdli);        //尺寸线间距
                pDimStyleTblRcd->setDimgap(rDimgap);        //文字偏移
                pDimStyleTblRcd->setDimasz(rDimasz);        //箭头大小
                pDimStyleTblRcd->setDimtxsty(syBzTeId);        //设定文字的样式
                pDimStyleTblRcd->setDimtxt(rTextSize);        //设定文字的高度
                pDimStyleTblRcd->setDimtad(iDimtad);        //设定文字位置垂直
                pDimStyleTblRcd->setDimtoh(iDimtoh);
                pDimStyleTblRcd->setDimtih(iDimtih);        //设定文字标注方式
                pDimStyleTblRcd->setDimtix(0);                        //设定文字始终在中间
                pDimStyleTblRcd->setDimblk(strDimblk);        //设定箭头样式

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

使用道具 举报

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

使用道具 举报

发表于 2002-11-2 19:09:40 | 显示全部楼层
最初由 sywdl 发布
[B]感谢你的帮助!!! [/B]


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

使用道具 举报

发表于 2004-4-19 04:56:15 | 显示全部楼层
确实不错,非常受益,XD网站真的好,
我有一个问题想请教,从上面的方法可以创造新的字体和标注样式,
但是我如何将该标注样式设置为当前标注样式呢?
使用setDimstyleData(pDimStyleTableRecord);函数好象也不行,
真的想知道,求告!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-19 20:29:44 | 显示全部楼层
当一个函数的参数超过5个,如果没有默认值,是很难使用的.

如果有拷贝构造函数,或 = 就好了,只需从iso25样式拷贝过来,修改2.3个参数就能用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-19 20:33:56 | 显示全部楼层
谁回答我的问题呢?还是6楼的没有这样的函数就是答案呢?求告!!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-19 21:49:05 | 显示全部楼层
"设置为当前标注样式"好像只需设置一个系统变量,好像...好像...好像....DIMSTYLE
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-16 08:31:50 | 显示全部楼层
我也创建了标注的样式,但要知道怎么用出来了,是不是涉及到匿名块呀?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 12:29 , Processed in 0.358098 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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