明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3405|回复: 15

[已解答] 如何用Lisp判断当前CAD是32位的还是64位的?

[复制链接]
发表于 2016-5-3 11:26 | 显示全部楼层 |阅读模式
如题,要对当前CAD做一个判断,确定是32位还是64位的CAD。根据32位或者64位,要加载不同的arx。

请教各位大大。
发表于 2016-7-12 09:52 来自手机 | 显示全部楼层
(getvar 'platform)
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-5-3 16:20 | 显示全部楼层
ZZXXQQ 发表于 2016-5-3 15:44
试下(getvar "ACADVER")

这个是CAD的版本,里面没有包含软件是32或者64位的信息
我比对过32位和64位的CAD,返回的ACADVER系统变量值是完全一样的
回复 支持 1 反对 0

使用道具 举报

发表于 2021-4-22 20:02 | 显示全部楼层
很有用!不错
发表于 2016-5-3 12:45 | 显示全部楼层
看highflybir大师的
  1. ;;;判断系统是否为64位(getenv"PROCESSOR_ARCHITECTURE")
  2.   (defun Is64Bit (/ WMI SVR SYS)
  3.     (setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
  4.     (setq SVR (VLAX-INVOKE WMI 'ConnectServer))
  5.     (vlax-for n (vlax-invoke SVR 'InstancesOf "Win32_ComputerSystem")
  6.       (setq SYS (vlax-get n 'SystemType))
  7.     )
  8.     (vlax-release-object SVR)
  9.     (vlax-release-object WMI)
  10.     (wcmatch sys "x64*")
  11.   )
 楼主| 发表于 2016-5-3 14:48 | 显示全部楼层
自贡黄明儒 发表于 2016-5-3 12:45
看highflybir大师的

黄兄,这个是判断windows系统是不是64位的
64位系统里也可以安装32位的CAD,我需要的是确定CAD本身是32还是64位的

不知道你有没有好办法
发表于 2016-5-3 15:44 | 显示全部楼层
试下(getvar "ACADVER")
发表于 2016-5-3 16:09 | 显示全部楼层
shh_188 发表于 2016-5-3 14:48
黄兄,这个是判断windows系统是不是64位的
64位系统里也可以安装32位的CAD,我需要的是确定CAD本身是32还 ...

系统用(getenv"PROCESSOR_ARCHITECTURE")
 楼主| 发表于 2016-5-3 16:19 | 显示全部楼层
自贡黄明儒 发表于 2016-5-3 16:09
系统用(getenv"PROCESSOR_ARCHITECTURE")

黄兄,测试了一下,不能满足要求啊
用2楼你放的那个函数,测试出来的效果,其实和 PROCESSOR_ARCHITECTURE 的结果是一样的,只能判断出windows本身系统是32还是64的

我遇到的情况是,64位的win7下,安装了32位和64位的CAD 2010,我要确定当前打开的CAD到底是32位的还是64位的
发表于 2016-5-3 16:25 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2016-5-3 16:28 编辑
shh_188 发表于 2016-5-3 16:20
这个是CAD的版本,里面没有包含软件是32或者64位的信息
我比对过32位和64位的CAD,返回的ACADVER系统变量 ...

(strlen (vl-princ-to-string (vlax-get-acad-object)))=>39就是32位Autocad
 楼主| 发表于 2016-5-3 16:39 | 显示全部楼层
自贡黄明儒 发表于 2016-5-3 16:25
(strlen (vl-princ-to-string (vlax-get-acad-object)))=>39就是32位Autocad

居然是这么判断的,这招太诡异了
测试了一下还真是这么回事,吓

感谢黄兄,也是开了一扇大门啊,多谢多谢
发表于 2016-5-3 23:15 | 显示全部楼层
自贡黄明儒 发表于 2016-5-3 16:25
(strlen (vl-princ-to-string (vlax-get-acad-object)))=>39就是32位Autocad

这个有用     
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-28 20:01 , Processed in 0.258848 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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