CN110286901B - 一种基于cad的脚本生成方法、***及存储介质 - Google Patents

一种基于cad的脚本生成方法、***及存储介质 Download PDF

Info

Publication number
CN110286901B
CN110286901B CN201910598616.6A CN201910598616A CN110286901B CN 110286901 B CN110286901 B CN 110286901B CN 201910598616 A CN201910598616 A CN 201910598616A CN 110286901 B CN110286901 B CN 110286901B
Authority
CN
China
Prior art keywords
primitive
entity
script
entities
primitive entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910598616.6A
Other languages
English (en)
Other versions
CN110286901A (zh
Inventor
田文龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Guangran Design Co ltd
Guangzhou Development Group Inc
Guangzhou Gas Group Co Ltd
Original Assignee
Guangzhou Guangran Design Co ltd
Guangzhou Development Group Inc
Guangzhou Gas Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Guangran Design Co ltd, Guangzhou Development Group Inc, Guangzhou Gas Group Co Ltd filed Critical Guangzhou Guangran Design Co ltd
Priority to CN201910598616.6A priority Critical patent/CN110286901B/zh
Publication of CN110286901A publication Critical patent/CN110286901A/zh
Application granted granted Critical
Publication of CN110286901B publication Critical patent/CN110286901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于CAD的脚本生成方法、***及存储介质,方法包括以下步骤:通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;根据图元实体的类型获取图元实体的元素信息;根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;连接图元实体的操作语句;根据图元实体的脚本语句和操作语句生成图元实体的脚本文件。本发明通过先根据用户预先画好的图元实体获取图元实体的元素信息,以及获取图元实体的操作语句,然后根据图元实体的操作语句和元素信息,结合图元实体的操作函数将图元实体自动转换成脚本,从而使得设计人员能快速将实体对象转换成脚本。本发明可应用于计算机辅助设计领域。

Description

一种基于CAD的脚本生成方法、***及存储介质
技术领域
本发明涉及计算机辅助设计领域,尤其是一种基于CAD的脚本生成方法、***及存储介质。
背景技术
在对计算机辅助设计软件(AutoCAD)二次开发过程中,语言的逻辑部分的学习较为容易,但是在与计算机辅助软件之间进行交互和生成各种实体过程时是比较繁琐和复杂的,需要对计算机辅助设计软件内置的实体对象深入了解才能够得心应手,稍有不慎就会出错。
现有技术需要学习计算机辅助软件的对象模型、图元接口等内容,然后根据实体的具体信息再编写生成实体的程序,然而,程序的编写是非常复杂的,且大多数设计人员都是工程专业人员,对于程序的编写也并不熟悉,因此,需要设计人员先投入大量时间深入学习程序编写后,才能将实体对象快速转换成脚本。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种基于CAD的脚本生成方法、***及存储介质,使得设计人员不需要深入学习程序编写,就能快速将实体对象转换成脚本。
本发明所采用的第一种技术方案是:
一种基于CAD的脚本生成方法,包括以下步骤:
通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;
根据图元实体的类型获取图元实体的元素信息;
根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;
连接图元实体的操作语句;
根据图元实体的脚本语句和操作语句生成图元实体的脚本文件。
进一步地,所述根据图元实体的类型获取图元实体的元素信息,其包括以下步骤:
根据多个图元实体的获取次序,依次根据图元实体的类型获取图元实体的元素信息。
进一步地,所述根据图元实体的脚本语句和操作语句生成图元实体的脚本文件,其包括以下步骤:
获取脚本模块定义和参数;
根据图元实体的脚本语句和操作语句,以及脚本模块定义和参数生成图元实体的脚本文件。
进一步地,所述操作语句包括坐标操作语句。
进一步地,所述操作语句包括图层操作语句。
进一步地,所述操作语句包括颜色操作语句。
进一步地,所述接口函数为辅助设计软件上的图元实体操作接口函数。
本发明所采用的第二种技术方案是:
一种基于CAD的脚本生成***,包括:
第一获取模块,用于通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;
第二获取模块,用于根据图元实体的类型获取图元实体的元素信息;
第一生成模块,用于根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;
第三获取模块,用于连接图元实体的操作语句;
第二生成模块,用于根据图元实体的脚本语句和操作语句生成图元实体的脚本文件。
本发明所采用的第三种技术方案是:
一种基于CAD的脚本生成***,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载所述程序以实现所述的一种基于CAD的脚本生成方法。
本发明所采用的第四种技术方案是:
一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于实现所述的一种基于CAD的脚本生成方法。
本发明的有益效果是:通过先自动获取设计人员在CAD软件上画好的需要转换的图元实体,以及连接图元实体的操作语句,然后根据图元实体的类型获取图元实体的元素信息,最后根据图元实体的操作语句和元素信息,并结合图元实体的操作函数将图元实体自动转换成脚本文件,从而使得设计人员不需要深入学习程序编写就能快速将实体对象转换成脚本。
附图说明
图1为本发明具体实施例的基于CAD的脚本生成方法的流程图;
图2为本发明具体实施例的基于CAD的脚本生成***的模块框图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
参照图1,一种基于CAD的脚本生成方法,其包括以下步骤:
S101、通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;本步骤具体是通过计算机辅助设计软件中图元实体的接口函数获取至少一个图元实体,以及对应图元实体的类型。在一些实施例中,用户需要将多个图元实体转换到同一个程序文件内,方便用户快速调用所有图元实体的程序文件,因此,需要获取所有需要转换的图元实体。所述图元实体为用户所需转换的实体对象,其具体为设计人员在CAD软件上预先根据自己的需求画好的CAD图。所述图元实体的类型可以为直线、圆弧、圆或多线段。在一些实施例中,所述图元实体的接口函数为辅助设计软件的实体操作接口函数。
S102、根据图元实体的类型获取图元实体的元素信息;在一些实施例中,当步骤S101得到的图元实体的类型为圆时,则本步骤获取的图元实体的元素信息为圆心坐标和半径,以及该圆所在图层、线形、颜色或者线宽。当步骤S101得到的图元实体的类型为多线段时,则本步骤获取的图元实体的元素信息为各端点坐标、线宽、线形、颜色和图层。当步骤S101得到的图元实体的类型为圆弧时,则本步骤获取的图元实体的元素信息为圆心、半径、起点角度和终点角度。
S103、根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;所述脚本语句为用户所需转换的实体对象的程序语句。
S104、连接图元实体的操作语句;所述操作语句为坐标操作语句、图层操作语句或者颜色操作语句,通过操作语句,方便用户在应用时,能够快速对实体对象进行旋转或位移等。
S105、根据图元实体的脚本语句和操作语句生成图元实体的脚本文件。所述脚本文件包括所有实体对象转换得到的脚本语句和操作语句,以及程序的函数名、结束语句等。
本实施例通过先自动获取设计人员在CAD软件上画好的需要转换的图元实体,以及连接图元实体的操作语句,然后根据图元实体的类型获取图元实体的元素信息,最后根据图元实体的操作语句和元素信息,并结合图元实体的操作函数将图元实体自动转换成脚本文件,从而使得设计人员不需要深入学习程序编写就能快速将实体对象转换成脚本。
作为优选的实施方式,所述根据图元实体的类型获取图元实体的元素信息,其包括以下步骤:
根据多个图元实体的获取次序,依次根据图元实体的类型获取图元实体的元素信息。
在一些实施例中,所述图元实体也称为实体对象。用户需要转换的图元实体包含多个图元实体,每个图元实体的类型可能有所不同,如图元实体A为圆、图元实体B为直线,则图元实体A的元素信息为圆心坐标和半径,以及圆所在的图层和颜色。在获取多个图元实体时,***会自动记录图元实体的获取次序,根据图元实体的获取次序,依次识别图元实体的类型,然后根据图元实体的类型,获取图元实体的元素信息,所述元素信息也称为关键信息。
作为优选的实施方式,所述根据图元实体的脚本语句和操作语句生成图元实体的脚本文件,其包括以下步骤:
获取脚本模块定义和参数;本步骤主要是获取脚本文件的函数名称。
根据图元实体的脚本语句和操作语句,以及脚本模块定义和参数生成图元实体的脚本文件。根据所有需要转换的图元实体的脚本语句,结合操作语句和函数名称,最后添加结束语句,即能生成一个符合用户需求的脚本文件。
作为优选的实施方式,所述操作语句包括坐标操作语句。所述坐标操作语句是方便用户在对所需实体进行旋转、位移或放大时,不需要重新编写程序代码,按照提示内容输入参数既能实现图元实体的旋转或者位移。例如用户需要做一个批量坐标的插件,首先用户选择标注点、然后提取坐标信息,最后只需要调用使用标注信息前生成的脚本即可在标注点生成标注信息。
作为优选的实施方式,所述操作语句包括图层操作语句和/或颜色操作语句。所述图层操作语句是使用户在修改图元实体的图层时,只需要按照提示内容输入参数既能修改图元实体的图层。所述颜色操作语句是方便用户修改图元实体的关键信息的颜色。所述操作语句并不限于上述所举具体实施例。
如下在一些实施例上的应用过程,例如在AutoCAD中绘制完成风玫瑰后,调整好图层内容,然后加载运行通过本发明得到的命令,根据提示选择风玫瑰并输入脚本名称,就能够生成与风玫瑰对应的lsp文件,如fmg.lsp,其中,lsp文件是一种CAD工具箱的自动加载的方式,然后再加载fmg.lsp,输入fmg后根据提示即可生成风玫瑰;同时生成的lsp文件除了能够直接加载运行外,还能够与其他lsp文件配合其他的逻辑语句实现更复杂的操作,如输入初始化命令后即可创建图层线形。
再例如在AutoCAD中绘制完成流量计表,调整好图层,然后加载运行通过本发明得到的命令,根据提示选择绘制好的计量表并输入脚本名称,既能生成相应的lsp文件,如biao.lsp,然后加载biao.lsp,输入biao后根据提示即可生成计量表,同时生成的lsp文件能够与其他lsp文件配合其他逻辑语句实现更复杂的操作,如提示对话框由用户选择的类型或流量大小等内容,自动生成相应的表,并由用户放置在指定位置。
参照图2,本发明实施例还提供了一种与图1方法相对应的基于CAD的脚本生成***,包括:
第一获取模块,用于通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;
第二获取模块,用于根据图元实体的类型获取图元实体的元素信息;
第一生成模块,用于根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;
第三获取模块,用于连接图元实体的操作语句;
第二生成模块,用于根据图元实体的脚本语句和操作语句生成图元实体的脚本文件。
上述方法实施例中的内容均适用于本***实施例中,本***实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法所达到的有益效果也相同。
本发明实施例还提供了一种与图1方法相对应的基于CAD的脚本生成***,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载所述程序以实现所述的一种基于CAD的脚本生成方法。
上述方法实施例中的内容均适用于本***实施例中,本***实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法所达到的有益效果也相同。
此外,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于实现所述的一种基于CAD的脚本生成方法。
综上所述,本发明通过先自动获取设计人员在CAD软件上画好的需要转换的图元实体,以及连接图元实体的操作语句,然后根据图元实体的类型获取图元实体的元素信息,最后根据图元实体的操作语句和元素信息,并结合图元实体的操作函数将图元实体自动转换成脚本文件,从而使得设计人员不需要深入学习程序编写就能快速将实体对象转换成脚本;进一步地,通过坐标操作语句、图层操作语句和颜色操作语句,使得用户在对图元实体的元素信息进行修改时,只需按照提示内容输入参数即可快速修改。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (5)

1.一种基于CAD的脚本生成方法,其特征在于:包括以下步骤:
通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;
根据图元实体的类型获取图元实体的元素信息;
根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;
连接图元实体的操作语句;所述操作语句包括坐标操作语句、图层操作语句、颜色操作语句;
根据图元实体的脚本语句和操作语句生成图元实体的脚本文件;
所述根据图元实体的类型获取图元实体的元素信息,其包括以下步骤:
根据多个图元实体的获取次序,依次根据图元实体的类型获取图元实体的元素信息;
所述根据图元实体的脚本语句和操作语句生成图元实体的脚本文件,其包括以下步骤:
获取脚本模块定义和参数;
根据图元实体的脚本语句和操作语句,以及脚本模块定义和参数生成图元实体的脚本文件。
2.根据权利要求1所述的一种基于CAD的脚本生成方法,其特征在于:所述接口函数为辅助设计软件上的图元实体操作接口函数。
3.一种基于CAD的脚本生成***,其特征在于:包括:
第一获取模块,用于通过图元实体的接口函数获取至少一个图元实体、图元实体的类型;
第二获取模块,用于根据图元实体的类型获取图元实体的元素信息;
第一生成模块,用于根据图元实体的元素信息和图元实体的绘制接口函数,生成图元实体的脚本语句;
第三获取模块,用于连接图元实体的操作语句;所述操作语句包括坐标操作语句、图层操作语句、颜色操作语句;
第二生成模块,用于根据图元实体的脚本语句和操作语句生成图元实体的脚本文件;
所述根据图元实体的类型获取图元实体的元素信息,其包括以下步骤:
根据多个图元实体的获取次序,依次根据图元实体的类型获取图元实体的元素信息;
所述根据图元实体的脚本语句和操作语句生成图元实体的脚本文件,其包括以下步骤:
获取脚本模块定义和参数;
根据图元实体的脚本语句和操作语句,以及脚本模块定义和参数生成图元实体的脚本文件。
4.一种基于CAD的脚本生成***,其特征在于:包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载所述程序以实现如权利要求1-2任一项所述的一种基于CAD的脚本生成方法。
5.一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于实现如权利要求1-2任一项所述的一种基于CAD的脚本生成方法。
CN201910598616.6A 2019-07-04 2019-07-04 一种基于cad的脚本生成方法、***及存储介质 Active CN110286901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910598616.6A CN110286901B (zh) 2019-07-04 2019-07-04 一种基于cad的脚本生成方法、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910598616.6A CN110286901B (zh) 2019-07-04 2019-07-04 一种基于cad的脚本生成方法、***及存储介质

Publications (2)

Publication Number Publication Date
CN110286901A CN110286901A (zh) 2019-09-27
CN110286901B true CN110286901B (zh) 2023-05-30

Family

ID=68020538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910598616.6A Active CN110286901B (zh) 2019-07-04 2019-07-04 一种基于cad的脚本生成方法、***及存储介质

Country Status (1)

Country Link
CN (1) CN110286901B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112163392B (zh) * 2020-08-24 2023-05-19 中国电子科技集团公司第二十九研究所 一种封装基板加工文件的自动生成方法、介质及设备
CN115495807B (zh) * 2022-09-26 2024-05-10 上海弘玑信息技术有限公司 一种自动绘图方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587746B1 (en) * 1996-12-04 2003-07-01 D'souza Melanius Process and apparatus for facilitating automatic production of drawing using a CAD system
CN1624688A (zh) * 2003-12-05 2005-06-08 鸿富锦精密工业(深圳)有限公司 加工代码生成***及方法
CN1704941A (zh) * 2004-05-29 2005-12-07 鸿富锦精密工业(深圳)有限公司 线切割路径代码生成***及方法
WO2008096847A1 (ja) * 2007-02-09 2008-08-14 Mori Seiki Co., Ltd. 自動プログラミング方法及び自動プログラミング装置
CN103197604A (zh) * 2013-03-13 2013-07-10 上海维宏电子科技股份有限公司 基于dbf实现刀具路径自动优化的数控***及控制方法
CN104750913A (zh) * 2015-03-05 2015-07-01 中国电建集团昆明勘测设计研究院有限公司 一种实现dwg三维模型自动转换为x三维模型的方法
CN106909123A (zh) * 2017-02-10 2017-06-30 昆山同日工业自动化有限公司 一种控制编程辅助设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005886B2 (en) * 2005-05-19 2011-08-23 Jds Uniphase Corporation Systems and methods for generating network messages
CN102124444A (zh) * 2008-05-20 2011-07-13 本特利***公司 采用生成组件的可复制程序流的***、方法和计算机程序产品
CN102868717A (zh) * 2011-07-08 2013-01-09 华为软件技术有限公司 语音扩展标记语言脚本编辑与调试的方法、装置及***
CN102541730B (zh) * 2011-12-08 2014-08-27 北京空间飞行器总体设计部 一种航天器测试脚本语义识别与自动生成方法
CN104268072B (zh) * 2014-09-03 2017-02-15 武汉烽火网络有限责任公司 图形化脚本编辑器及快速开发通信设备测试脚本的方法
CN106445818B (zh) * 2016-09-13 2019-05-10 郑州云海信息技术有限公司 一种基于模型驱动的自动化脚本调试方法和装置
CN108710489A (zh) * 2018-05-23 2018-10-26 中国平安人寿保险股份有限公司 自动化导数脚本生成方法、装置、计算机设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587746B1 (en) * 1996-12-04 2003-07-01 D'souza Melanius Process and apparatus for facilitating automatic production of drawing using a CAD system
CN1624688A (zh) * 2003-12-05 2005-06-08 鸿富锦精密工业(深圳)有限公司 加工代码生成***及方法
CN1704941A (zh) * 2004-05-29 2005-12-07 鸿富锦精密工业(深圳)有限公司 线切割路径代码生成***及方法
WO2008096847A1 (ja) * 2007-02-09 2008-08-14 Mori Seiki Co., Ltd. 自動プログラミング方法及び自動プログラミング装置
CN103197604A (zh) * 2013-03-13 2013-07-10 上海维宏电子科技股份有限公司 基于dbf实现刀具路径自动优化的数控***及控制方法
CN104750913A (zh) * 2015-03-05 2015-07-01 中国电建集团昆明勘测设计研究院有限公司 一种实现dwg三维模型自动转换为x三维模型的方法
CN106909123A (zh) * 2017-02-10 2017-06-30 昆山同日工业自动化有限公司 一种控制编程辅助设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AutoCAD二次开发中实体的生成;高明涛 等;《鞍山科技大学学报》;第2003卷(第3期);第213-215、220页 *
AutoCAD实体导出Glyph2脚本的实现;罗小美;《现代机械》;第2016卷(第3期);第91-94页 *
Computability evaluation of RESTful API using Primitive Recursive Function;R. Padmanaban 等;《Journal of King Saud University – Computer and Information Sciences》;第34卷(第2期);第457–467页 *

Also Published As

Publication number Publication date
CN110286901A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
US8365135B2 (en) Computer method and apparatus for connection creation in a software modeling system
RU2347262C2 (ru) Способ и система для записи макросов в синтаксисе, независимом от языка
CN110286901B (zh) 一种基于cad的脚本生成方法、***及存储介质
CN110955410A (zh) 一种代码自动生成方法、装置、设备及介质
CN104484163A (zh) 一种基于统一建模环境的异构模型转换方法
US9965142B2 (en) Direct manipulation user interface for smart objects
KR20060120539A (ko) 그래피컬 프로그래밍 장치 및 프로그래머블 표시기
CN112579679B (zh) 设计异构数据模型映射策略和自动转换方法及装置
WO2023130933A1 (zh) 模型处理方法、代码获得方法、装置以及电子设备
JP2007087127A (ja) データ生成プログラム、該プログラムを記憶した記憶媒体、オープンソースソフトウェア開発環境統合プログラム、該プログラムを記憶した記憶媒体
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
US9311755B2 (en) Self-disclosing control points
CN117215556A (zh) 模块化的页面快速构建方法、***、设备及介质
CN106528946B (zh) 一种批量***AutoCAD图块的方法
Bocevska et al. An example of application design using solidworks application programming interface
CN112396681A (zh) 一种动画生成方法、装置和存储介质
CN108241775A (zh) 数字饰面材料到3d数据的高度自动化应用
CN113010161B (zh) 视图转换方法、视图转换装置和存储介质
CN109765838B (zh) 可编程逻辑控制器组态文件的生成方法及装置
CN114518875A (zh) 一种图形化编程***及其编程方法
Le Calvar et al. Intensional view definition with constrained incremental transformation rules
US7580962B1 (en) Automatic code generation for co-simulation interfaces
CN115577438B (zh) 一种用户透明的建筑结构模型数据交换方法、设备和介质
US20240153169A1 (en) Changing coordinate systems for data bound objects
CN118331552A (zh) 一种在流水线编辑器中嵌入共享库函数图形化编辑的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant