PyCad工具帮助文档

1、这是一份关于PyCad的帮助文件,PyCad是明经论坛.net板块版主雪山飞狐开发的基于IronPython和C#的用于AutoCAD的二次开发工具。主要受众群体为闷骚的Pyer,以及被Pyer们蛊惑来的Lisper和c#er们。该项目已经开源,并发布于GitHub。该项目目前只能用于AutoCad2012-2016,在可预期的未来会支持更多的cad版本和更多的cad平台。本文档作者:落魄山人使用python语言编写插件。相对lisp而言,可以使用.net的强大api,实现各种酷炫功能。相对c#及arx而言,python语言的语法简单,入门快。自带编辑器,自动编译,自动加载

2、。已经内置一些基本的根对象,可以直接使用。内置一些常用的函数及装饰器,简化代码编写。在项目地址直接下载NFox.Python.dll文件打开AutoCad,用netload命令加载NFox.Python.dll加载成功后,在命令行键入pye命令可打开编辑器c#部分是逐个加载debug或者release目录下的包用顶层包加载命令的编辑器会自动编译python代码,关闭编辑器后会自动加载到cad,可以直接在命令行运行你的自定义命令。在键入pye命令后打开编辑器,编辑器默认界面如下:PyCad工具帮助文档项目特点工具使用加载运行编辑器编辑器界面分为工具栏、

3、编辑区、项目管理器区、python命令行区工具栏四个按钮,分别为保存、全部保存、撤销、重做对应的功能分别为保存当前文档、保存全部文档、撤销编辑、重做编辑编辑区主要为编写代码的区域,可以自动提示、自动缩进(这个很重要,python是靠缩进来区分语句的作用域的)、自动行号等项目管理区主要为项目管理功能,项目管理区内鼠标右键,可以实现新建,删除等操作。项目管理器类似于vs的项目管理,一个文件夹表示一个项目(对应于python的概念为包),每个文件下的py文件为模块。为了更好的组织包的组织结构,项目里还可以有文件夹。python命令行其实是一个python的解释器,可以直接执行

4、python代码,并即时输出结果。主要用于调试某些单行代码,验证某些代码等等。pycad编辑器是一个全新的工具,为了便于使用以及入门,作者已经在编辑器中集成了一些基本的python模块以及示例代码。这里在默认的编辑器界面里的项目管理区可以看到,主要为两个项目,一个为pycad项目一个为pytest项目。pycad项目为作者已经写好的一些基本的python模块,封装了一些基本的对象。pytest项目有创建命令、lisp函数、面板的例程。在讲解具体的代码之前,还是说说关于python的包管理吧,也就是说python代码文件的组织结构是什么样的。在计算机程序的开发过程中,随着程

5、序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我

6、们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。点这里查看Python的所有内置函数。你也许还想到,如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。举个例子,一个abc.py的文件就是一个名字叫abc的模块,一个xyz.py的文件就是一个名字叫xyz的模块。现在,假设我们的abc和xyz这两个模块名字与其他模块冲突了,于是我们可以通过包来组织模块,避免冲突。方法是选择一个顶层包名,比如mycompany,按照如下目录存放:工具使用小贴士python包管理引

7、入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。现在,abc.py模块的名字就变成了mycompany.abc,类似的,xyz.py的模块名变成了mycompany.xyz。请注意,每一个包目录下面都会有一个_init_.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。_init_.py可以是空文件,也可以有Python代码,因为_init_.py本身就是一个模块,而它的模块名就是mycompany。类似的,可以有多级目录,组成多级层次的包结构。比如如下的目录结构:文件www.py的模块名就是mycompa

8、ny.web.www,两个文件utils.py的模块名分别是mycompany.utils和mycompany.web.utils。mycompany.web也是一个模块,请指出该模块对应的.py文件。经过这个讲解,对于包管理应该是有一个了解了,同时对于pycad编辑器的项目管理也能看的懂了。在项目管理器里点击pytest,在左边的编辑区里会出现代码,看过上面关于包管理的介绍后,这里你会有疑问了,为啥这里会有代码呢?不是说这个pytest就是个文件夹吗?很好,这个问题很容易就会出现疑问,因为这里显示的其实是_init_.py的内容。通常呢,_init_.py文件是不建议写功

9、能代码的,要么偷懒为空文件,要么写一些初始化的代码来对包和包含的模块进行一些初始化的设置。但是作者偏偏在这个文件里写了具体的代码,怪我咯。pytest包的_init_.py文件的内容如下:pytest代码示例讲解pytest1frompycad.systemimport*2frompycad.runtimeimport*3importcmds45command()6defmylayer():7withdbtrans(True)astr:8tr.addlayer(1)第一、二行,导入模块,语法:fromxxximport

10、yyy,表示从xxx包里导入yyy模块,这里的yyy可以是*号,表示把xxx包里的模块全部导入。第一行和第三行的区别自行百度。第三行,导入模块,语法:importxxx,注意python的语句结尾是没有分号的,从c类语言转过来的选手们,都习惯在句末加分号。这个导入模块相当于c#里的using。第五行,装饰器语法,表示下面是定义一个命令,这个command是自定义的,具体代码见pycad.system包里的decorators模块里的command类。相同的还有lisp(),表示定义一个lisp函数;panel(),表示定义一个面板;showtime(),表示在调用函数

13、提交,所以dbtrans(True)的意思就是提交事务。第三个参数表示数据库,默认为不存在。第四个参数为文件名,默认不存在。第五个参数为是否创建数据库。dbtrans这个类返回的就是一个事务管理器实例。那么这个dbtrans到底神奇在哪里呢?答案是神奇在可以在使用with语句时调用,而我们写的其他函数也好,类也好却不能在with语句调用,原因就是这个类里定义了两个很神奇的函数,_enter_和_exit_,有了这两个函数,才能被with调用。至于为什么这么神奇,请自行百度。在python里看见左右两个下划线包起来的函数,有个专有名词叫魔术方法,请自行百度。addlayer这个函数是在dbtrans类里定义的一个方法,封装了添加图层的操作。其他的就没什么了,这个pytest包的_init_.py文件就讲解完毕。这个模块没啥说的,都是python的基本操作数据库的语法,自行百度吧。这三个都是写对话框用的,需要说明的是:importclrclr.AddReference(System.Windows.Forms)

THE END
1.Cython:从C++到pythonwheelcibuildwheelcython# 必须安装wheel,已安装可省略 pip install wheel # 编译扩展并打包成whl文件 python setup.py bdist_wheel # 在生成的dist目录下可以看到打包好的whl文件 pip install dist/mypackage-0.0.1-cp310-cp310-win_amd64.whl 最后的效果 >>> import mypackage https://blog.csdn.net/AK6512/article/details/143850295
2.详细分析Python生成项目依赖包的工具安装pipreqs并在该项目中执行,. 代表当前目录,可以替换为其他路径 pipinstallpipreqs Python项目的依赖、打包和发布,采用 pyproject.toml 文件来替代传统的 requirements.txt 和 setup.py https://www.ctyun.cn/zhishi/p-440207
3.python不安装在c盘有影响吗mob6454cc6d81c9的技术博客1.这是pycharm下载地址: 2.我们进入pycharm官网会看到下方页面;professional 表示专业版,community 是社区版,推荐安装社区版,因为是免费使用的(如果只是做测试,社区版完全够你使用了) 3.下载好后,点击安装,记得修改路径,我这里是放到E盘了,修改好后点击Next https://blog.51cto.com/u_16099250/12810771
4.[oeasy]python052[系统开发语言为什么默认是c语言overmind1980[系统开发语言为什么默认是c语言[趣味拓展]c语言发祥史_c是如何成为第一系统语言的 上次我们了解了 首字符 为 字母和下划线七个小公司【阅读全文】阅读(6) | 评论(0) | 转发(0) [oeasy]python051_什么样的变量名能用_标识符_identifier 发布时间:2024-12-11 07:24:58 什么样的变量名能用_标识符_http://blog.chinaunix.net/uid/69981380/year-202412-list-1.html
5.python安装教程,科技,软件,好看视频python安装教程 春风解答 2.0万粉丝 · 7262个视频 关注 接下来播放自动播放 00:35 男子开车接女友出去玩,一家人集体出来围观:画面太暖好幸福 掌闻视讯 2.6万次播放 · 109次点赞 01:02 深圳消防通报一住宅楼发生爆炸:明火已扑灭,1人死亡 椒点视频 9.6万次播放 · 702次点赞 02:03 地铁逃生新模式“4V4冰河https://haokan.baidu.com/v?pd=wisenatural&vid=6075180465828426608
6.关于cryptojspython的信息(2)直接根据提示的日志,已经安装了这个库,用命令行执行:pip3 install Crypto,还是提示以上错误,继续执行:pip3 install pycrypto 还是提示以上错误。直接执行卸载语句:pip3 uninstall pycrypto,提示卸载成功,再次执行:pip3 install pycrypto提示安装成功,重启pycharm 后运行项目。 https://www.506064.com/n/244385.html
7.一文详解PyCharm中如何安装第三方库python在下载安装好Pycharm后,一个在实际编程开发过程中非常重要的问题是第三方库添加,这篇文章主要给大家介绍了关于PyCharm中如何安装第三方库的相关资料,需要的朋友可以参考下https://www.jb51.net/python/306840e33.htm
8.python3.2的新功能—Python3.10.0a4文档过时的ABC, PyLoader 和PyPycLoader 已弃用(文档中包含有关如何保持与python 3.1兼容的说明)。 参见 PEP 3147 -PYC存储库目录 Barry Warsaw写的PEP。PEP 3149:ABI版本标记.so文件 pyc存储库目录允许同时定位多个字节码缓存文件。这个PEP通过为共享对象文件提供一个公共目录和每个版本的不同名称来实现类似的机制。 https://www.osgeo.cn/cpython/whatsnew/3.2.html
9.装abcpy呕心沥血版其他跟着abc_py中readme的流程走就完事了,总结一下就是: 编译libabc.so 安装pybind11,参https://blog.csdn.net/u012483097/article/details/108797976 安装boost(虽然没说要装,但是abc_py编译的时候没有会报错) Doxygen也一样,也是sudo apt-get install doxygen https://zhuanlan.zhihu.com/p/540765154
10.PythonPyAutoGUI库:深入解析与详解物联沃PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持。可以用pip安装,Github上有源代码。 PyAutoGUI可以模拟鼠标的移动、点击、拖拽,键盘按键输入、按住操作,以及鼠标+键盘的热键同时按住等操作,可以说手能动的都可以。 https://www.iotword.com/26435.html
11.Pycharm2023破解版安装教程(附激活码,保姆级教程)PyCharm是一种Python集成开发环境(IDE),它提供了许多工具来提高用户在使用Python语言进行开发时的效率,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制。此外,它还提供了一些高级功能,以支持Django框架下的专业Web开发。接下来,我们将为您介绍如何安装和激活pycharm。 https://www.opabc.com/shenghuobaike/150472.html
12.web.py快速入门(一)web.py是一款轻量级的python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。 一、web.py安装 1、下载安载 下载:http://webpy.org/static/web.py-0.38.tar.gz 解压并进入web.py-0.38目录,安装: python setup.py install 2、pip安装 pip install web.py 二、quick start impohttps://www.jianshu.com/p/260fbb89d3a3
13.写给系统管理员的Python脚本编程指南从官网下载PyCharm并按照说明进行操作。 1.5 Python解释器 Python是一种解释型语言。它有一个交互式控制台,称为Python解释器或Python Shell。此Shell可以即时逐行执行程序,而无须创建脚本文件。 在Python交互式控制台中,我们可以访问Python所有内置函数和库、已安装的模块和输入过的命令。该控制台为我们提供了探索Pythonhttps://www.epubit.com/bookDetails?id=UB6cb42ad4559c7
14.PySide6浅学justinFile > Settings > Tools > External Tools,配置Qt Designer,pyside6-uic。 配置Qt Designer是为了可以在PyCharm用Qt Designer直接打开.ui设计文件进行相关的设计工作; 配置pyside6-uic是为了将.ui设计文件转换为python代码。 使用方式 创建一个python项目,然后安装pyside6依赖库。 https://www.ithere.net/article/1727609005385723905
15.Python程序设计题库——第三章33. 假设有Python程序文件abc.py,其中只有一条语句print(name),那么直接运行该程序时得到的结果为___。 答案:__main__ 34. 表达式16**0.5的值为___。 答案:4.0 35. 表达式type({3})的值为___。 答案:set 36. 表达式isinstance('Hello world',str)的值为___。 答案:True 37. 表达式[1,2,https://m.nowcoder.com/discuss/353149722133209088
16.新华三新华三发布全场景Wi-Fi7新品,涵盖高密、放装、面板、壁挂式、室外、工业级等多场景无线使用覆盖需求。 灵犀一体机 大模型场景化应用一站式交付,为大模型落地行业打通“最后一公里”。 了解更多 液冷解决方案 全栈产品能力、全面技术路线、全生命周期服务“三全”融合,助力数据中心绿色转型。 https://www.h3c.com/
17.在pycharm中安装pippycharm安装django腾讯云开发者社区在pycharm中安装pip_pycharm安装django 大家好,又见面了,我是你们的朋友全栈君。 转载地址:http://www.cnblogs.com/yuanzm/p/4089856.htmlPython,最近又开始玩起了这门语言。总的来说,个人很喜欢Python的语言风格,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装,简直是折磨人,会遇到https://cloud.tencent.com/developer/article/2125183
18.22062109Python笔记1)安装包阿里云网址:http://mirrors.aliyun.com/pypi/simple/ 2)清华大学设立的模块镜像服务器:https://pypi.tuna./simple/。 1.3.4.修改虚拟环境 如果使用Pycharm为已存在的项目创建虚拟环境与创建新项目配置虚拟环境思想是相同的都提供了两种创建虚拟环境方式,区别就在pycharm创建虚拟环境操作菜单不同。相应方法http://www.360doc.com/content/22/0621/09/70688440_1036834268.shtml
19.Importerrorinpython3.8:Nomodulenamed'[ 43%] Performing configure step for 'Savitar' -- Find shared libpython: /usr/local/lib/libpython3.8.so Fatal Python error: Py_Initialize: can't initialize sys standard streams Traceback (most recent call last): File "/usr/local/lib/python3.8/abc.py", line 64, in <module> ImportErrorhttps://github.com/Ultimaker/cura-build-environment/issues/102