![]() |
给二次开发爱好者出个题?
给二次开发爱好者出个题?
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里肯定也不难实现的, |
| 所有的时间均为北京时间。 现在的时间是 06:35 PM. |