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


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


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-28, 03:53 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】给二次开发爱好者出个题?

给二次开发爱好者出个题?
www.dimcax.com
给二次开发爱好者出个题?
给二次开发爱好者出个题,不一定要程序,只是要大家思考一下怎样实现此功能,顺便提示一下我.
制图模板已制作好了,我需要的功能是 自动提取标题栏中的 零件名称 这个项目的值作为 相应的autocad的文件名称并保存到指定的文件目录中或者局域网服务器中.
怎么样,有难度吗?

本人做过一个小程序,只要选择标题栏中的图号或零件名应就可以在当前目录中打开已有同名文件或新建文件源程序如下请指教。
public sub daka()
dim ssetobj as acadselectionset
dim selobj as acadentity
dim textobj as acadtext
dim icount as integer
dim i as integer
dim pathname as string
dim tmp as string
with thisdrawing
dim filtertype(0) as integer
dim filterdata(0) as variant
pp:
icount = .selectionsets.count
while (icount > 0)
if .selectionsets.item(icount - 1).name = "sset" then
.selectionsets.item(icount - 1).delete
end if
icount = icount - 1
wend
set ssetobj = thisdrawing.selectionsets.add("sset")
filtertype(0) = 0
filterdata(0) = "text"
.utility.prompt "请选择文字..."
ssetobj.selectonscreen filtertype, filterdata
for i = 0 to ssetobj.count - 1
set selobj = ssetobj.item(i)
if selobj.objectname = "acdbtext" then
set textobj = selobj
tmp = .path + "\" + textobj.textstring + ".dwg"
if selobj.hyperlinks.count <> 0 then
pathname = selobj.hyperlinks.item(0).url
if pathname = tmp then
.application.documents.open pathname
else
selobj.hyperlinks.item(0).delete
selobj.hyperlinks.add tmp
.application.documents.open pathname
end if
else
on error goto pp
tmp = .utility.getstring(true, "是否按此名称创建图形文并与本图号关联y(n):")
if tmp = "" then
tmp = "y"
end if
if tmp = "y" or tmp = "y" then
pathname = .path + "\" + textobj.textstring + ".dwg"
selobj.hyperlinks.add pathname
documents.add
.saveas (pathname)
.close
else
tmp = .utility.getstring(true, "是否选择图形文并与本图号关联y(n):")
if tmp = "y" or pathname = "y" then
tmp = "hyperlink" + vbcr
.sendcommand tmp
end if
end if
end if
else
.utility.prompt "你选择的不是文字请选择文字..."
goto pp
end if
next
end with
end sub

二楼的说明好像与我想要的不符哦,我要的只是在点击 保存 或者 退出 按钮时自动执行的事件程序啊.我看你的程序作用好像是 使 装配图 中的 明细栏 的 图号 与各个零件的文件相对应,理解正确吗?请指教.
不好意思,又看了一下好像是我的要求没写明白,我的模板是零件图纸的模板而不是装配图的模板,只有标题栏而没有明细栏.
另 二楼的程序的使用有没有什么需要注意的,可以讲一讲啊.

工作量主要在提取图块属性上,这类代码网上有不少,然后添加命令反应器,对qsave执行filecopy api即可(一点浅见).

哇塞 api都上来了 是不是还涉及到mfc(vc++)啊 我可不会啊

做这类功能 objectarx 最拿手了,

我也由tongyan的问题

这个很简单呀,要根据你的具体要求而定,把标题栏做成属性块就可以了,都是正常的程序就能解决的,没什么特殊的

文件拷贝也可以不用api的
vb / vba也可以用api呀
vb / vba里自带这些事件,也不用定义反应器的

caxa这些功能都能实现,在cad里肯定也不难实现的,
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


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

高级搜索
显示模式

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

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



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


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