前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >亲自动手写一个Python库(一)

亲自动手写一个Python库(一)

作者头像
小小科
发布2018-05-03 15:46:59
8930
发布2018-05-03 15:46:59
举报
文章被收录于专栏:北京马哥教育北京马哥教育

引子

学习编程以来,接触过Basic,C/C++,Swift,JavaScript和Python五种语言,其中最爱的当属Python,简洁的语法和丰富的库让我一直沉迷于此,尽管最近实习工作中用的是C++。

最近一年,我将大把的时间投入到学习编程中,收获了满满的成就感,希望未来工作之后,还能保持对编程的爱。学习Python以后,经常感慨开源的伟大,我也一直希望自己能成为这光荣世界的一员,所以趁着工作中需要,利用业余时间开发一个Python库解决CAA开发中遇到的问题。

需求

从去年十二月份至今,断断续续地接触了DS CAA开发工作,很多人可能并不了解DS CAA。无论是手机家电之类的消费电子产品还是飞机轮船等大型制造产品,在制造之前都需要采用CAD软件进行设计。从上世纪60年代CAD软件开始商用至今,历经技术的不断变革和各家公司的兼并联合,已经形成达索、西门子、PTC“三国争霸”的局面。我实习公司主推的是达索的CAD软件,即CATIA。在CAD领域,我们将利用厂商提供的API在已经成型的CAD软件上增加一些程序(功能)称之为“二次开发”,上面所述的DS CAA就是对CATIA的二次开发。

DS CAA采用的开发语言是C++,由于是完全的基于SDK和API的开发,往往开发工作要受限于达索的接口和框架。开发中大量的精力不得不花费在阅读达索API接口文档,查找API,查找模块,查找框架之中,做过类似工作的人一定能理解这其中的个把心酸。在慢慢的工作中,逐渐有了想法,将散落于文档中的API接口用数据库管理,根据自己所写的程序自动添加头文件,模块和框架。当然采用最爱的Python写一个库来解决这一问题,也许并不是最好的解决办法,但我愿意就好,也希望能帮助的苦逼的CAA开发者。

环境搭建

废话已经说了太多,我们下面将利用PyCharm结合VirtualEnv搭建项目环境。

安装好Pycharm后,点击configure->Preferecnces进入设置页面,找到Project Interpreter设置选项,该选项显示了当前可用的Python解释器,点击右上角设置图标,然后选择Create VirtualEnv来创建一个Python虚拟环境,虚拟环境的好处是你可以针对自己的虚拟Python环境为所欲为,而不用担心搞坏系统的Python环境,笔者曾经将Mac上的Python环境搞崩溃后,只得默默重装系统。

此外,Pycharm还可以方便的帮你管理虚拟环境的Python包,点击左下角➕即可添加库到当前环境中。

当然,此虚拟环境同样可以通过命令行激活,如我的虚拟环境安装位置为:~/Developer/Python3Env,里面VirtualEnv会帮我们搭建好一整套Python所需的包和执行命令。

结下来就用Pycharm创建一个项目,只需注意选择一个虚拟环境即可,我给自己的项目起了个还不错的名“CAAFinder”,项目已经放在GitHub上面,如果有CAA开发者看到,欢迎和我一起完善项目,也欢迎你可以测试它。即使你不是CAA开发者,也希望在Github上面点个赞。

作者:Gutierrez 来源:http://www.jianshu.com/p/696f1d558ce9


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从去年十二月份至今,断断续续地接触了DS CAA开发工作,很多人可能并不了解DS CAA。无论是手机家电之类的消费电子产品还是飞机轮船等大型制造产品,在制造之前都需要采用CAD软件进行设计。从上世纪60年代CAD软件开始商用至今,历经技术的不断变革和各家公司的兼并联合,已经形成达索、西门子、PTC“三国争霸”的局面。我实习公司主推的是达索的CAD软件,即CATIA。在CAD领域,我们将利用厂商提供的API在已经成型的CAD软件上增加一些程序(功能)称之为“二次开发”,上面所述的DS CAA就是对CATIA的二次开发。
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档