家居装修知识
模具知识|给AutoCAD增加计算器功能
2017-01-20  浏览:57
模具之家讯:在用AutoCAD进行绘图时,经常需要进行一些必要的计算工作。尽管Autodesk公司随AutoCAD一起提供了一个可进行简单计算的LISP程序CALC.LSP,但该程序开发较早,在COMMAND命令下使用,界面不直观,且使用不方便。本文通过对AutoCAD内对话框结构及AutoLISP进行研究,提出了一种用对话框结构实现计算器功能的方法,同时给出程序流程图,供大家参考。该程序已应用于我院的实际工作中。

1 原理及方法

AutoCAD对话框结构包含多种构件,如edit_box(编辑框)、text(文字)、button(按钮)等。利用这些工具,可以开发出界面友好的实用程序。图1就是用这种方法实现的。 将计算器中数字及各种运算符号以按钮(button)形式排成5行5列,并把计算结果以文字构件方式在对话框内显示,即可得到图1所示对话框结构(对话框文件#CAL.DCL)。最后编制对话框显示及完成各种运算功能的驱动程序即可(驱动程序#CAL.LSP),程序流程图见图2。

在#CAL.LSP程序中用到了AutoLISP提供的多种数值计算及变量转换函数。需要说明的是,笔者在调试过程中发现某些函数对变量有一些特殊要求,现介绍如下,与读者共同探讨:

1、在幂运算函数(expt base power)中,对变量base(底)和power(幂)的要求与代数学中幂的运算要求是不同的。在代数学中对变量base和power的要求如下:

当 base>0时,power 可为任意实数;

当base=0时,power须大于0;

当base<0时,power可为整数,若为小数或分数时要求当其化为最简分数时分母不能为偶数。

但在AutoLISP中当变量base<0时,要求power只能是整型数或小数点后均为0的实数,如2,-2.0等,否则将得到错误信息或返回一个错误结果(视power值而定)。此外,当计算结果太大而溢出时,对于ForDOS版的AutoCAD将返回1.67e+308,而WINDOWS版则返回1.79769e+308。

2、正余弦函数(sin x)及(cos x)要求变量x必须小于等于9.223372e+18(当然还可再延长小数位数),否则得不到正确结果。例如当变量为9.223373e+18时,对于ForDOS版的AutoCAD返回NAN,而WINDOWS版则返回变量值本身。

3、在使用函数(rtos)将数据转化为字符串时,笔者发现当数据大于1e+100(即10的100次方)时,会将指数100自动地改为99。例如,执行(rtos 6e+100 2 6)后得到"6.000000E+99",而不是所期待的"6.000000E+100"。所以本程序规定最大数据不能大于1e+99,否则将显示溢出错误。当然,通过编制另外的转换程序是可以将最大数据提高到AutoCAD所能接受的最大数据(经测试发现其最大值可为1.79769e+308)。限于篇幅,本文不再提供该转换函数,需要的同志可与笔者联系。

2 程序使用方法

将程序#CAL.LSP 及对话框文件#CAL.DCL拷贝到AutoCAD所能找到的目录中,在Command:命令下键入(LOAD "#CAL")进行程序的加载,即可象其它AutoCAD内部命令一样使用#CAL了。也可在所使用的菜单文件(如ACAD.MNU)中的下拉式菜单或屏幕菜单部分加上下面一行:[计算器]^C^C^P(if (null c:#cal) (load"#cal")) #cal以后即可直接从菜单中驱动该程序。

对话框内各个图标与普通计算器相似,"C"表示清零,"M+"表示存储结果,"MR"表示弹出所存储的结果,"sqrt"表示开方,"X**y"表示求幂。当所输入的数据不合适或计算结果溢出时对话框内会显示错误提示信息。

本程序在AutoCAD R12.0 ForDOS及ForWINDOWS版上均调试通过,但在WINDOWS版本中所显示的图形与图1略有不同。
模具之家为您提供最全面的塑胶,塑料,模具,模具设计,塑胶模具品牌的装修知识点和各种塑胶模具的导购与在线购买服务,拥有最便宜的塑胶模具价格和最优质的售后服务,敬请登陆模具之家:http://muju.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 模具 的产品:
广州模具货架,重型货架,带抽屉模具架

广州模具货架,重型货架,带抽屉模具架

价格:3200.00/套

广州模具架

广州模具架

价格:3800.00/套

品质优8407模具钢圆钢【一胜百】

品质优8407模具钢圆钢【一胜百】

价格:到店咨询

S136H模具钢板 大圆棒

S136H模具钢板 大圆棒

价格:到店咨询

718S板【一胜百】塑胶模具钢

718S板【一胜百】塑胶模具钢

价格:到店咨询

20CrMnTi齿轮钢【塑胶模具钢】板

20CrMnTi齿轮钢【塑胶模具钢】板

价格:5.30/千克

易博仕铝方通吊顶木纹铝方通厂家直销

易博仕铝方通吊顶木纹铝方通厂家直销

价格:7.50/米

易博仕勾搭式垂帘铝挂片吊顶天花

易博仕勾搭式垂帘铝挂片吊顶天花

价格:8.50/米

供应易博仕氟碳铝单板幕墙铝单板厂家直销

供应易博仕氟碳铝单板幕墙铝单板厂家直销

价格:198.00/平方米

供应易博仕氟碳铝单板幕墙铝单板厂家直销

供应易博仕氟碳铝单板幕墙铝单板厂家直销

价格:198.00/平方米

易博仕铝天花吊顶明架跌级铝扣板600*600厂家直销

易博仕铝天花吊顶明架跌级铝扣板600*600厂家直销

价格:38.00/平方米

供应易博仕c型铝条扣 防风铝条扣天花厂家直销

供应易博仕c型铝条扣 防风铝条扣天花厂家直销

价格:38.00/平方米

  • 头条资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 建材风水 木板之家 电工之家 壁纸之家 净化之家 安防之家 水暖之家 洁具之家 窗帘头条 家饰之窗 老姚之家 灯饰之家 电气之家 全景头条 陶瓷之家 照明之家 防水之家 防盗之家 博一建材 卫浴之家 区快洞察 建材 郑州建材 周口建材 信阳建材 商丘建材 南阳建材 漯河建材 许昌建材 濮阳建材 焦作建材 新乡建材 鹤壁建材 安阳建材 洛阳建材 开封建材 武汉建材 天门建材 企业之家 驻马店建材 三门峡建材 平顶山建材 神农架建材 建材之家 720全景
    (c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved