明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: houlinbo

我编的!请提意见!谢绝

  [复制链接]
 楼主| 发表于 2005-2-26 19:56:00 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2005-2-27 13:01:00 | 显示全部楼层
看来这个程序也是费了楼主很多心思才写出来的,在实际工程应用中能够大大提高效率减少重复劳动,好的地方就不再多说了,既然是让提意见,那就写几条供参考:


1、窗体上空白的地方很多,有一个界面设计的原则是能够把用到的控件都放下就可以了,用不着做这么大的界面,因为屏幕本来就那么大


2、根据界面设计的惯例,插图一般放在界面的上端或左半部,按钮一般设在窗体的右下角,控件的字体最好用宋体小五而不需要用那么多种字体,毕竟这是一个工程上用的程序,界面还是要越简洁越好


3、控件最好有缺省值,减少用户输入


4、如有可能还做一个数据文件保存用户的输入,可根据用户的需要调出以前的记录


5、控制小数点位数建议用一个Text控件加一个SpinButton控件(利用SpinUp、SpinDown事件加减,并注意检查是否超出上下界)实现


6、对用户的输入要加以过滤,只允许输入数值(分整数和实数两种情况),如果输字母的话过滤掉,并检查是否超出取值范围


7、好像没有提示用户给出图形的位置,是不是位置是程序里面固定好的?如果用户在同一个.dwg文件中再次运行的话,两次生成的图形会不会重合?


8、“在绘制并自动打印完一个图形后,不能再自动打印绘制的其它图形”,是不是打印的区域在程序里面固定了?应该允许用户选打印区域,而且应该有选打印机、设置出图比例、纸张大小等基本功能。


9、如果只是需要用户输入打印份数的话用InputBox就可以了,用不着单做一个窗体。说实话打印这个功能意义不是很大。
 楼主| 发表于 2005-2-27 19:43:00 | 显示全部楼层
clement,太感谢你了,谢谢你给我提的这么多意见,我是电力建设管道制作工地的技术员,我是2004年12月25号买到VBA二次开发技术教程(国防工业出版的),学习VBA刚2个月,此程序是每天下班熬夜编的,我的这个程序主要是面对初中以下文凭的管道制作技术工人,他们根本不知道什么是出图比例、纸张大小,不知道什么是A4纸,只能认识字和单击鼠标的这种人,所以有一个问题一直是我头痛的事,“在绘制并自动打印完一个图形后,若删除此图形,再次自动绘制,自动打印的图只是图的一部分”,我是通过三角函数,将逐个点的坐标计算出来,直线连接,每一点的坐标是固定死的。怎样才能使再次打印时全图范围打印呢?


以后能与你常联系吗?


                                侯林波                                         男         25                                毕业于太原理工大学计算机信息管理专业                                电话:13948381359                                        qq:420021327                Email:houlinbo0209@163.com
发表于 2005-2-28 11:54:00 | 显示全部楼层
国防工业的那本我见过,觉得不如张帆那本《AutoCAD VBA精彩实例教程》有深度,后者介绍了很多技巧。 关于打印问题,手动打印的时候打印区域选“范围”的时候能不能达到所要的效果? 如果是的话检查一下 程序中 “打印区域”是否设的是 acExtends , 如果设成 acExtend还是不能达到目的的话,就要考虑用 SendCommand命令调用 -Plot了,里面会有一步问“输入打印区域 [显示(D)/范围(E)/图形界限(L)/视图(V)/窗口(W)] <范围>:”,输入E就可以了。

范围

打印图形的当前空间部分(该部分包含对象)。当前空间中的所有几何图形都将被打印。打印之前 AutoCAD 可能重生成图形以便重新计算图形范围。

 楼主| 发表于 2005-2-28 21:47:00 | 显示全部楼层
用命令无法设置默认打印机,mccad设置默认打印机的方法在命令行中显示为“无”
 楼主| 发表于 2005-2-28 22:55:00 | 显示全部楼层
Private Sub CommandButton1_Click()
ZoomExtents
ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo
ThisDrawing.PaperSpace.Layout.ConfigName = "Default Windows System Printer.pc3"
'设计为草图打印,不计比例
ThisDrawing.PaperSpace.Layout.StandardScale = acScaleToFit
' 设置打印份数为1
ThisDrawing.Plot.NumberOfCopies = a
' 开始范围打印
ThisDrawing.SendCommand "-plot" + Chr(13) + "y" + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + "e" + Chr(13) + Chr(13) + "居中打印" + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + "y" + Chr(13)
Unload UserForm8
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 21:07 , Processed in 0.177424 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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