明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1610|回复: 11

[提问] 请问lisp有办法获取是什么CAD吗?浩辰or中望or。。。?

[复制链接]
发表于 2023-3-13 16:07:50 | 显示全部楼层 |阅读模式
本帖最后由 hw8810 于 2023-3-29 17:45 编辑

想知道当前加载lisp的是桌子CAD还是浩辰、中望,有什么方法区分吗?这样可以做到不同的CAD利用不同的函数,隐藏函数国产的CAD貌似不支持呢。

03.29****************************************
我发现我理解错了,我是想区别软件然后看加不加载隐藏函数的fas。除了桌子,其他的好像不支持隐藏函数的。那这样就不是写在lisp里面了,是在打包vlx的时候要进行什么操作?
发表于 2023-3-13 19:16:47 | 显示全部楼层
(getvar "program")
"acad"
"gcad"
"ZWCAD"
回复 支持 2 反对 0

使用道具 举报

发表于 2023-3-14 17:50:58 | 显示全部楼层
hw8810 发表于 2023-3-14 16:16
大佬这是什么函数?没见过呀

@lisp 核心的部分代码。加载 @lisp 时对CAD软件的厂商 进行初步测定。
然后在后面的应用中就可以针对不同的CAD软件写差异化代码了。


  1. (setq @:products '("AutoCAD" "GstarCAD" "ZWCAD" "BricsCAD"))
  2. (setq fasext ".fas")
  3. (setq is-gstarcad nil
  4.       is-bricscad nil
  5.       is-zwcad nil
  6.       is-autocad nil
  7.       @:cad-platform (getvar "product"))
  8. "中望,浩辰特殊定义"
  9. (cond
  10. ((string-equal "GstarCAD" (getvar "product"))
  11.   ;;(or (findfile "icad.pgp")(findfile "gcad.pgp"))
  12.   (setq @:pgp-file "gcad.pgp")
  13.   (setq @:locale "chs")
  14.   (setq is-gstarcad T)
  15.   (setq is-gcad T))
  16. ((string-equal "ZWCAD" (getvar "product"))
  17.   (setq @:pgp-file "ZWCAD.pgp")
  18.   (setq @:locale "chs")
  19.   (if (> (read (getvar "zrxvernum")) 2017)
  20.       (setq fasext ".zelx"))
  21.   (setq is-zwcad T))
  22. ((string-equal "bricscad" (getvar "product"))
  23.   (setq @:pgp-file "default.pgp")
  24.   (setq is-bricscad T)
  25.   (setq fasext ".des")
  26.   (setq @:locale (strcase (getvar "locale") T)))
  27. ((string-equal "autocad" (getvar "product"))
  28.   (setq @:pgp-file "acad.pgp")
  29.   (setq is-autocad t)
  30.   (cond
  31.    ((= (getvar "syscodepage") "ANSI_936")
  32.     (setq @:locale "chs"))
  33.    ((= (getvar "syscodepage") "ANSI_950")
  34.     (setq @:locale "cht"))
  35.    (t (setq @:locale (strcase (getvar "locale") T)))
  36.   ))
  37. (t  (setq @:locale "chs")(setq @:pgp-file "acad.pgp"))
  38. )
发表于 2023-3-13 19:37:18 | 显示全部楼层
本帖最后由 vitalgg 于 2023-3-13 20:00 编辑

  1. ;; @lisp 针对不同CAD的代码处理
  2. (cond
  3.   (is-gstarcad
  4.     ;; 浩辰CAD下的处理代码
  5.   )
  6.   (is-bricscad
  7.     ;; brics CAD下的处理代码
  8.   )
  9.   (is-zwcad
  10.     ;; 中望CAD下的处理代码
  11.   )
  12.   (is-autocad
  13.     ;; AutoCAD下的处理代码
  14.   )
  15.   (t ;; 其它CAD
  16.   
  17.   ))
  18. ;; 语言处理

  19. (cond
  20. ((= "zh_CN" @:lang)
  21.   ;; 简体中文
  22. )

  23. ((= "zh_TW" @:lang)
  24.   ;; 繁体中文
  25. )

  26. ((= "vi" @:lang)
  27.   ;; 越南文
  28. ) ((= "en" @:lang)
  29.   ;; 英文
  30. )
  31. (t ;; 其它

  32. ))




发表于 2023-3-13 16:58:56 | 显示全部楼层
(getvar "GCADVER")  (getvar "ACADVER") (getvar "ZRXVERNUM")
 楼主| 发表于 2023-3-13 17:03:55 | 显示全部楼层
liuyun242 发表于 2023-3-13 16:58
(getvar "GCADVER")  (getvar "ACADVER") (getvar "ZRXVERNUM")

这是获取CAD版本吗?
发表于 2023-3-13 17:31:50 | 显示全部楼层
是的,你可以试试
 楼主| 发表于 2023-3-13 17:35:20 | 显示全部楼层
liuyun242 发表于 2023-3-13 17:31
是的,你可以试试

试了前后两个返回nil,中间那个返回的版本号好像不同软件是一样的
 楼主| 发表于 2023-3-14 16:14:48 | 显示全部楼层
ludaweb 发表于 2023-3-13 19:16
(getvar "program")
"acad"
"gcad"

这个可以,感谢
 楼主| 发表于 2023-3-14 16:16:31 | 显示全部楼层

大佬这是什么函数?没见过呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 10:16 , Processed in 0.183146 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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