几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(C++)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-18, 02:31 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】我的控件又进行了更新

我的控件又进行了更新
我的控件又进行了更新
8.10.06更新
最新下载地址:
1、修正尺寸标注中的mtext文字显示不正确问题.
2、控件工具条改成从mxt文件加载,这样用户通过修改mxt文件可以自定义工具条
mxt文格式如下:
// 工具条文件头说明.
// ("文件类型字符串" "资源文件名" "透明颜色")
("mxdrawtoolbarfile" "mxdraw.dll" (214 211 206))
// 文件中的工具命令字符串每项说明.
// ("命令名称" "命令提示字符串" "命令" "图标索引字符串")
("打开dwg文件" "打开dwg文件" "opendwg" "idb_opendwg_bitmap")
("separator")
("缩放" "视区缩放命令" "z" "idb_zoom_bitmap")
("视区移动" "视区移动命令" "p" "idb_pan_bitmap")
("前一个视区" "缩放上一个" "zoomp" "id_prvview_bitmap")
("重新生成图形" "重新生成图形" "re" "idb_regen_bitmap")
("separator")
("操作回退" "操作回退" "u" "idb_undo_bitmap")
("打印图形" "打印图形" "plot" "idb_print_bitmap")
3、导出enabletoolbarcontrol接口,用来禁用或激活工具条上的按钮.
接口原型为:short enabletoolbarcontrol(lpctstr pszcontrolname, short isenable);
4、activex控件增加sendstringtoexecute接口,用来发送执行某个命令.
接口原型为: short sendstringtoexecute(lpctstr pszcmd);
5、activex控件增加openwebdwgfile接口,用来打开网上某个dwg文件.
接口原型为:short openwebdwgfile(lpctstr surlpath);
使用方法为: 复制内容到剪贴板
代码:
<script language="vbscript">
mxdrawocxctrl.setatieruning(1)
mxdrawocxctrl.enabletoolbarcontrol "打印图形",0
mxdrawocxctrl.openwebdwgfile(" (63.72 kb)
下载次数:0
8-10-6 09:09 am
下载次数:0
8-10-6 09:09 am
呵呵,看其来不错哦
8.10.18更新
8.10.06更新下载地址:
1、增加读取属性块中属性功能
调用代码如下: 复制内容到剪贴板
代码:
acdbobjectiterator* pattribiter = spblkref->attributeiterator();
if(pattribiter != null)
{
acutprintf(_t("\n 块的属性值为:"));
for(;!pattribiter->done();pattribiter->step() )
{
// 打开块属性对象.
acdbobjectpointer<acdbattribute> spattribute(pattribiter->objectid(),acdb::kforread);
acutprintf(_t("\n %s"),spattribute->textstringex());
}
acutprintf(_t("\n"));
// 删除块属性递代器指针.
delete pattribiter;
}
else
{
acutprintf(_t("\n 选择的不块不带属性"));
}2、增加实体名柄类acdbhandle,并可以把实体名柄与实体id互相转换。
3、增加闪烁实体功能和停闪烁接口
调用代码如下: 复制内容到剪贴板
代码:
// 闪烁实体.
static bool twinkeent(acdbobjectid id);
// 停闪东实体
static bool stoptwinkeent(acdbobjectid id);
// 停闪止所有实体
static bool stopalltwinkeent(mxdrawocxhandle hocx);4、增加构建选择集函数acedssget,acedsslength,acedssfree,acedssname,现在支持带过滤的x选方式。 复制内容到剪贴板
代码:
struct resbuf* filter = acutbuildlist(8,layer,rtdxf0, _t("lwpolyline"),-4,_t("<or"),62,0,
62,1,62,256,-4,_t("or>"),0);
acutprintf(_t("\n 选择实体:"));
ads_name ss;
int rc = acedssget(_t("x"), null, null,filter,ss);
acutrelrb(filter);
if(rc != rtnorm)
{
afxmessagebox(_t("没有发现满足要求的实体"));
return;
}
long len = 0;
acedsslength(ss,&len);
cstring st;
st.format(_t("发现%d个实体"),len);
afxmessagebox(st);5.增加图层的操作,关闭打开图层,可以参照samples\edit.sln例程. 复制内容到剪贴板
代码:
void ctestcommands::testofflayer()
{
ads_name entname;
ads_point pt;
if(acedentsel(_t("选择需要关闭图层的实体:"),entname,pt) != rtnorm)
{
return;
}
acdbobjectid objid;
if(acdbgetobjectid(objid,entname) != acad::eok)
return;
acdbobjectpointer<acdbentity> spent(objid,acdb::kforread);
if(spent.openstatus() != acad::eok)
return;
acdbobjectpointer<acdblayertablerecord> splayerrec(spent->layerid(),acdb::kforwrite);
if(splayerrec.openstatus() == acad::eok)
{
splayerrec->setisoff(true);
}
}
void ctestcommands::testopenalllayer()
{
acdblayertablepointer splayertable(acdbhostapplicationservices()->workingdatabase(),
acdb::kforread);
if(splayertable.openstatus() != acad::eok)
return;
acdblayertableiterator* playeriter = null;
splayertable->newiterator(playeriter);
if(playeriter != null)
{
for(playeriter->start();!playeriter->done();playeriter->step())
{
mcdblayertablerecord* precord = null;
playeriter->getrecord(precord,acdb::kforwrite);
if(precord != null)
{
precord->setisoff(false);
precord->close();
}
}
delete playeriter;
}
}6.读取实体的扩展记录,和读取readnamedobjectsdictionary功能。
// 把字典中所有的数据都输出 复制内容到剪贴板
代码:
acdbdatabase *pdb = acdbhostapplicationservices()->workingdatabase();
acdbobjectpointer<acdbdictionary> spdict(pdb->namedobjectsdictionaryid(),acdb::kforread);
if(spdict.openstatus() == acad::eok)
{
printdictionary(spdict.object() );
}7.增加控件配制文件,在配制文件中可以指控件的背景色,是否显示工具条,是否显示命令窗口,字体文件搜索路径等。配制文件格式如下:
// 初始绘图控件时设置配制文件 mxdraw-edit.ini
mxdraw::initmxdraw(true,_t("mxdraw-edit.ini")); 复制内容到剪贴板
代码:
// 控件的背景色 r g b
("viewblkcolor" (0 0 0))
// 是否显示命令行窗口
("showcommandwindow" "y")
// 是否显示工具条
("showtoolbar" "y")
// 打开dwg文件时,是否读取扩展数据
("readdwgexdata" "y")
// 打开dwg文件时,是否读取扩展记录
("readdwgexrecord" "y")
// 是否支持实体名柄操作
("issupportenthandle" "y")
// shx文件目录
("shxdir" "shx")8.增加对自定义实体的显示acdbproxyentity;
9.增加对属性定义文件的显示acdbattributedefinition
下载次数:0
8-10-18 08:29 pm
新增功能抓图:
下载次数:0
8-10-18 08:29 pm
背影为白色的抓图:
梦想绘图控件.
8.11.03更新
我的控件又更新了:
1、增加w ,c方式构造选集,
2、增加实体选择变虚功能
3、增加acedgetpoint函数,可以从图上取一个点。
4、增加在图上动态标注一个点的显示例程.
5、增加设置光标位置函数
6、修正了一堆显示细节问题,控件显示更为精确。
比如有:文字间的空隔距离问题,mtext字体风格问题,填充对象有时填充不对问题,块中实体颜色显示等问题。
下载次数:0
8-11-3 03:33 pm
梦想绘图控件.
8.12.01更新
1.增加对公差显示的
2.修正了椭圆弧显示问题,等一堆显示问题.
3.增加带有形的复杂线型的显示.
4.增加在ie中同时打开两个控件的演示例程.
5.增加打开对话框中显示dwg预览的功能,并增加
cbitmap* mxdraw::getpreviewbmp(lpctstr pszfilename)函数得到dwg的预览位图.
6.增加mxdrawpreviewfiledialog函数,弹出带预览窗口的文件打开对话框
7.增加对dxf文件的显示支持.
8.修正控件尺寸在除vc的其它语言中改不了的问题。
下载次数:0
8-12-1 06:38 pm
ie中使用控件
梦想绘图控件.
8.12.03更新
8.12.03更新下载地址:
1.增加超酷的图纸浏览程序mxdrawcadtools.exe,浏览程序源代码在控件安装目录下的samples\mxdrawcadtools\mxdrawcadtools.sln工程中.
下载次数:0
8-12-3 12:26 pm
下载次数:0
8-12-3 12:26 pm
梦想绘图控件.
梦想绘图控件寻求合作
寻找志同道合的编程高手,一起做软件开发,实现共赢,共进步。
主要合作是内容: 在autocad外,前期主要做图纸浏览,cad工具,专业工具,最终目标是cad平台
要求会vc++,会arx更好
梦想绘图控件.
梦想绘图控件qq交流群:73281982
群说明: cad 控件,dwg图纸的浏览与编辑,cad工具制作,专业软件制作,arx开发,合作开发软件项目等交流
梦想绘图控件.
做为技术研究不错,很难应用于商业用途,因为有个dwgdirect的版权问题,这个问题不解决,没有公司敢用
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 04:58 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多