+发表新主题
chkeji 发布于2023-8-23 02:29 17 次浏览 2 位用户参与讨论
跳转到指定楼层
广州中望龙腾软件股份有限公司是国家高新技术企业,国际CAD联盟ITC在中国大陆的首位核心成员。中国最大、最专业的CAD平台软件供应商之一。中望龙腾震撼推出主打产品、具有完全自主知识产权的“中望CAD”平台软件。中望CAD软件兼容目前普遍使用的AutoCAD,功能和操作习惯与之基本一致,但具有更高的性价比和更贴心的本土化服务,深受用户欢迎。

中望CAD作为一个平台,为满足各个行业的特性需求,提供了LISP、VAB、SDS和ZRX四种接口,一是保持了与已有外挂程序良好的兼容性,可以将原代码快速移植到中望cad上,二是可以用这些接口开发全新的程序,对于开发大型程序和创建自定义实体等方面都提供了完善的支持。比方说我们的用户,忠信制模、沪东造船上、洛阳一拖等一批企业都使用了中望cad来开发了符合各自企业需求的特定功能,大幅提升了企业的工作效率。另外现在越来越多的企业和设计院需要上马erp、pdm、plm等管理系统,绘图软件是其中的一个必要环节,中望cad在这个方面就提供了优异的接口,确保了与这些系统的顺畅衔接。
LISP由于其简单易用的特点,深受广大工程师的喜爱,中望CAD2012版的LISP接口部分新增了多种反应器及高级接口函数,功能更强大了。下面我们通过LISP实例程序来学习如何使用中望CAD的API接口来做二次开发。
我们在任意目录下新建一个文本文件,文件后缀名改为“.LSP”,输入以下内容:(分号后面的是注释,帮助读者理解程序的意思)

(defun c:66 ()                                   ;定义中望CAD命令66
 (setq dcl_id (load_dialog "draw"))                 ;此处为加载draw.dcl对话框控制文件
 (new_dialog "draw66" dcl_id)                    ;显示出输入尺寸的对话框
 (action_tile "accept" "(or_check) (done_dialog 1)")
   ;当用户点击确认后,执行or_check函数并结束对话框的显示
 (setq dd (start_dialog))
  (if(= dd 1)
   (draw_or)                                  ;在对话框关闭后执行draw_or函数
  )
)

(defun or_check()                                ;定义or_check函数
 (setq a (atof (get_tile "aa")))                     ;将用户输入对话框中的值赋给变量a
 (setq b (atof (get_tile "bb")))                     ;将用户输入对话框中的值赋给变量b
 (setq c (atof (get_tile "cc")))                      ;将用户输入对话框中的值赋给变量c
)

(defun draw_or()                                 ;定义draw_or函数
 (setq pt (getpoint "基点:"))                       ;让用户选取一个基点
 (setq k (- a c))                                  ;计算变量k
 (setq m (- b c))                                 ;计算变量m
 (setq p1 (list (+ (nth 0 pt) c) (nth 1 pt)))              ;通过计算坐标值获得p1
 (setq p2 (list (nth 0 p1) (+ (nth 1 pt) m)))             ;通过计算坐标值获得p2
 (setq p3 (list (+ (nth 0 p2) k) (nth 1 p2)))             ;通过计算坐标值获得p3
 (setq p4 (list (nth 0 p3) (+ (nth 1 p3) c)))             ;通过计算坐标值获得p4
 (setq p5 (list (nth 0 p2) (+ (nth 1 p2) c)))             ;通过计算坐标值获得p5
 (setq p6 (list (nth 0 pt) (+ (nth 1 pt) m)))             ;通过计算坐标值获得p6
 (command "line" pt p1 p2 p3 p4 p5 "")              ;通过pt p1 p2 p3 p4 p5点画直线
 (command "line" pt p6 "")                        ;通过pt p6点画直线
 (command "arc" p5 "e" p6 p2)                     ;p5为起点,p6为终点画圆弧
)

然后在中望CAD搜索路径下新建一个文本文件,文件名改为“draw.dcl,输入以下内容:
(双斜杠后面的是注释,帮助读者理解程序的意思)
draw66 :dialog{                                          //定义对话框draw66
  label="角钢";                                         //定义对话框标题
    spacer;                                            //空行
    :edit_box{label ="A :";key="aa";edit_width = 19;}          //文本输入框,让用户输入尺寸A
    :edit_box{label ="B :";key="bb";edit_width = 19;}          //文本输入框,让用户输入尺寸B
    :edit_box{label ="C :";key="cc";edit_width = 19;}          //文本输入框,让用户输入尺寸C
    spacer;                                            //空行
    ok_cancel;                                         //确定及取消按钮
     spacer;                                            //空行
}

在中望CAD中单击下拉菜单“工具”“加载应用程序”,在对话框中点击“添加”按钮,选择刚才新建的LSP文件,然后点击“加载”按钮,这时LISP程序就加载到中望CAD中了。我们在命令行输入66回车就可以使用上面的实例程序了。CAD2010序列号

在对话框中输入角钢的尺寸,程序就可以自动画出下面的图形

回复

使用道具 举报

已有2人评论

yangaotu 发表于 2023-8-23 21:25:04
看不懂
回复

使用道具 举报

刘柏麟 发表于 2023-8-24 04:33:04
对符合各方合法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| Archiver|手机版|小黑屋| 碧波制图网 Published by Stonespider

Copyright © 2021-2023 Kangli Wu   All Rights Reserved.

Powered by Discuz! X3.5( 苏ICP备18011607号-1 )

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