找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1117|回复: 5

[讨论]:一个有趣但另人费解的问题!

[复制链接]

已领礼包: 3337个

财富等级: 富可敌国

发表于 2002-3-4 22:32:38 | 显示全部楼层 |阅读模式

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

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

×
本人编写了一断“型”替换的程序,在R2k中没有任何问题,但在R14中,第一次运行没有问题,第二次运行,选择完实体后,CAD就给出提示“INTERNAL ERROR:  !smio.cpp@351: eWasOpenForRead”。本人百思不得其解,把原程序贴出来,望高手指教!
;;;************************************************************
(DEFUN WENTVL (EN I / )
   (SETQ EN (ENTGET (SSNAME EN I)))
;;;   (SETQ EN (EntNext (CDR (CAR EN))) )
   (SETQ EN (vlax-ename->vla-object (CDR (CAR EN))))
   EN
)

;;;断面∝转换为断开线
(DEFUN C:DCHG ( / I J L OLDC OLDH OLDL OLDLL OLDO SS W WW)
  (SETQ OLDL (GETVAR "CLAYER"))
  (SETQ OLDC (GETVAR "CECOLOR"))
  (SETQ OLDLL (GETVAR "celtype"))
  (SETQ OLDH (GETVAR "HIGHLIGHT"))
  (SETQ OLDO (GETVAR "OSMODE"))
  (SETVAR "CMDECHO" 0)
  (SETVAR "BLIPMODE" 0)
  (SETVAR "HIGHLIGHT" 1)
  (SETVAR "OSMODE" 0)
  (PRINC "\n请选择要替换的断面:")
  (SETQ SS (SSGET '((0 . "SHAPE"))))
  (IF SS
    (PROGN
      (SETQ L (SSLENGTH SS))
      (PRINC (STRCAT "\n共选择到" (RTOS L 2 0)"“断面”!"))
    )
    (PROGN
      (PRINC "\n没有选择到“断面”!")
      (SETVAR "CECOLOR" OLDC)
      (SETVAR "CLAYER" OLDL)
      (SETVAR "celtype" OLDLL)
      (SETVAR "HIGHLIGHT" OLDH)
      (SETVAR "OSMODE" OLDO)
      (EXIT)
    )
  )
  (COMMAND "LOAD" "WWLIB.SHX") ;;可用其它型文件
  (COMMAND "UNDO" "BE")
  (SETQ I 0 J 0)
  (REPEAT L
    (SETQ WW (WENTVL SS I))
    (SETQ W (VLAX-GET WW "NAME"))
    (IF (OR (= W "ZHUDM2") (= W "ZHUDM1"))  ;;;可用其它型名称
      (PROGN
        (SETQ W (VLAX-PUT WW "NAME" "DKX"))
        (SETQ J (+ J 1))
      )
    )
    (SETQ I (+ I 1))
  )  
  (COMMAND "UNDO" "E")
  (PRINC (STRCAT "\n共替换了-" (RTOS J 2 0) "-断面!"))
  (SETVAR "CECOLOR" OLDC)
  (SETVAR "CLAYER" OLDL)
  (SETVAR "celtype" OLDLL)
  (SETVAR "HIGHLIGHT" OLDH)
  (SETVAR "OSMODE" OLDO)
  (PRINC "\nOK!")
  (PRINC)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-3-6 01:38:41 | 显示全部楼层

Re: [讨论]:一个有趣但另人费解的问题!

最初由 ww822 发布
[B]本人编写了一断“型”替换的程序,在R2k中没有任何问题,但在R14中,第一次运行没有问题,第二次运行,选择完实体后,CAD就给出提示“INTERNAL ERROR:  !smio.cpp@351: eWasOpenForRead”。本人百思不得其?.. [/B]


一般情况下,出现这种提示,是由于上次操作打开了某一个对象,但是操作后,没有关闭对象。再对这个对象进行操作,就会出错误了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3337个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-3-6 07:23:39 | 显示全部楼层
最初由 ww822 发布
[B]那么,应该如何关闭对象呢? [/B]


你的程序没有用ARX啊,这可能是VLISP FOR R14的BUG,或者是你的机器装了什么其他的软件。

试试,启动ACAD后,什么也不做,直接运行你的程序看看是否出错误。若是,就是VLISP FOR R14的毛病了,试试“下载中心”的VLISP FOR R14正式版,看看如何,如何你是测试版本的话。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-3-6 08:45:14 | 显示全部楼层
VLISP的R14的正式版没有2K好用。虽然是正式版,但感觉测试版中的有些问题正式版中也会有。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3337个

财富等级: 富可敌国

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 03:29 , Processed in 0.440581 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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