找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1486|回复: 12

[原创] VLisp调用Python

[复制链接]

已领礼包: 3个

财富等级: 恭喜发财

发表于 2021-4-5 21:20:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 晨曦CAD 于 2021-4-7 00:10 编辑

LisPy内置函数创建py临时脚本文件,用于写入python语句
;返回值 脚本文件路径名称
(HG::PY::CREATE )
  1. (setq fi(HG::PY::CREATE))
返回值:"C:\\Users\\ASUS\\AppData\\Local\\Temp\\LisPy001_20210406.py"


;写一行PYThon语句
;pytempfilename py脚本文件路径,可由(HG::PY::CREATE)创建
;pystring python语句
(HG::PY::WRITELINE pytempfilename pystring)
  1. (HG::PY::WRITELINE (HG::PY::CREATE) "print ("hello world!")" )
复制代码
返回值:无返回值,临时文件中写入print (\hello world!")


;写很多行PYthon语句
;pystringlst python语句List(按行分割的字符串list),例如 ("print (\"hello\")" "print (\"world!\")")
;!!!!字符串应注意PYTHON格式要求,代码前面自行预留缩进空格
;!!!!默认基本缩进为4个空格
(HG::PY::WRITELIST  pytempfilename pystringlst)
  1. (setq pystringlst (list "print ("hello")" "print ("world!")"))
  2. (HG::PY::WRITELINE (HG::PY::CREATE) pystringlst )
返回值:无返回值,临时文件中写入print ("hello") print ("world!")


;替代 print语句
;将console文本输出至log文件
;输出python console信息或返回值请用此函数替代Print
;logstring要输出的字符
;logstring同意需自行预留缩进空格,基本缩进为4个空格
;para-p logstring是否为python变量 0普通字符串 1字符串变量 2列表字符串变量 3列表字符串变量换行输出
;示例(HG::PY::WRITELOG pytempfilename "hello log!" 0)
(HG::PY::WRITELOG pytempfilename logstring para-p)
  1. (HG::PY::WRITELOG pytempfilename "hello log!" 0)
复制代码
返回值:log文件路径
在文件路径中写入输出Log文件语句

;运行单行Python语句,有返回结果
(HG::PY::RUN pystring)
  1. (HG::PY::RUN "print(8**2)")
复制代码
返回值:("64")
此python语句含义,8的平方值

;运行Python文件,无返回值
(HG::PY::RUNFILE pyfilename)
  1. (HG::PY::RUNFILE "C:\\LisPyDEMO2.py")
复制代码
LisPyDemo2.py代码如下:
  1. import plotbar
  2. import matplotlib.pyplot as plt

  3. def main():
  4.     x=['1','2','3','4']
  5.     y=[4254,3563,567,6744]
  6.     a,b=plotbar.bar(x,y)

  7. main()
复制代码
输出结果如下:
Figure_1.png


;运行Python文件,有返回值
(HG::PY::RUNFILE2 pyfilename)
  1. (HG::PY::RUNFILE2 "C:\\LisPyDEMO1.py")
复制代码
LisPyDemo1.py代码如下:
  1. print(9**2)
复制代码
返回值:("81")






测试环境:Windows 10 + autocad2016 + python 3.6
测试需要python库: 词法分析工具LAC
测试功能:深度学习实现中文分词
  1. ;自然语言处理-中文分词
  2. ;paddle平台LAC
  3. ;需安装lac库
  4. (setq fi(HG::PY::CREATE))
  5. (setq pystringlst(list
  6.     "# coding:cp936"  ;;由于LISP语言特性,这里编码不是utf8
  7.     "from LAC import LAC"
  8.     ""
  9.     "# 装载分词模型"
  10.     "lac = LAC(mode='seg')"
  11.     "# 单个样本输入,输入为Unicode编码的字符串"
  12.     "text = u"LAC是个优秀的分词工具,LisPy中文分词案例测试""
  13.     "seg_result = lac.run(text)"
  14.        ))
  15. (HG::PY::WRITELIST fi pystringlst)
  16. (setq foo(HG::PY::WRITELOG fi "seg_result" 3))
  17. (HG::PY::RUNFILE2 fi)

程序输入:"LAC是个优秀的分词工具,LisPy中文分词案例测试"
结果输出: "LAC" "是" "个" "优秀" "的" "分词" "工具" "," "LisPy" "中文" "分词" "案例" "测试"

通过加载LisPy.vlx 就可以使用Python丰富的资源了。



请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:LisPyV1.1.rar 
下载次数:23  文件大小:3.92 KB  售价:2D豆 [记录]
下载权限: 不限 以上  [免费赚D豆]










论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8612个

财富等级: 富甲天下

发表于 2021-4-5 21:49:08 | 显示全部楼层
能再多给几个例子吗?曲线相关的,文字相关的等等
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2021-4-5 22:27:09 | 显示全部楼层
本帖最后由 晨曦CAD 于 2021-4-5 22:30 编辑
liuyj 发表于 2021-4-5 21:49
能再多给几个例子吗?曲线相关的,文字相关的等等

看你是什么方面的了。python本身并不适合cad绘图,适合数据处理、深度学习这些。举个“曲线”例子,可以直接在CAD里面看股市K线,玩笑
可以由cad文件绘制相关曲线图、词云图,用于汇报展示。例如
Figure_1.png

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 375个

财富等级: 日进斗金

发表于 2021-4-6 09:30:00 | 显示全部楼层
感谢楼主分享学习!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 110个

财富等级: 日进斗金

发表于 2021-4-6 21:05:43 | 显示全部楼层
谢谢分享谢谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

发表于 2021-4-7 07:45:41 | 显示全部楼层
學習了 感謝樓主分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 756个

财富等级: 财运亨通

发表于 2021-4-7 10:53:24 | 显示全部楼层
谢谢分享!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1345个

财富等级: 财源广进

发表于 2021-4-7 12:24:30 | 显示全部楼层
感谢分享,还有这种操作。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1489个

财富等级: 财源广进

发表于 2021-4-16 15:52:52 | 显示全部楼层
可以提供源码学习吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1489个

财富等级: 财源广进

发表于 2021-10-5 17:45:58 | 显示全部楼层
autocad2018 +win10下试了这个(HG::PY::RUNFILE2 pyfilename),cad 完全没有反应的假死了。自己.py文件是可以运行的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1489个

财富等级: 财源广进

发表于 2022-6-16 18:37:07 | 显示全部楼层
这种方法是每一次调用.py的有没有方法只需要加载一次.py 后面可以直接可以继续调用呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 09:10 , Processed in 0.234123 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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