找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 645|回复: 14

[求助] 晓东 APi打开某些图纸出错

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-1-24 14:08:41 | 显示全部楼层 |阅读模式

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

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

×
win7  cad2012   64位安装API后某些函数不能用,比如 XD::Text:AdjustAlignMent       xdrx_Insert_appendWipeout关键是打开某些图纸会致命错误,有的图纸又没问题。请教大家,是什么问题啊?
新建位图图像.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-1-24 14:22:47 | 显示全部楼层
是用的最新的API吗?
把有问题的图纸压缩下传到论坛。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2017-1-24 14:57:30 | 显示全部楼层
好的,文件我传上来。奇怪的是06打开又没问题,然后06打开文件之后,把这个文件粘贴到一个新文件里,12打开也没问题了。06打开源文件,把所有东西都删除掉之后用12打开还是不行。
另外上述的部分命令无效也不知道怎么情况。

Drawing2.rar

1.23 MB, 下载次数: 4, 下载积分: D豆 -1 , 活跃度 1

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-1-24 15:39:41 | 显示全部楼层

从你描述来看,应该是你的DWG图形的问题,API使用ARX底层核心,可能某些地方对你的DWG一些有错误的地方比较苛刻,这类图形你经过修复,PURGE,生成块做出去,一般能解决图形的问题。

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-1-24 16:08:03 | 显示全部楼层
本帖最后由 newer 于 2017-1-24 16:09 编辑
(defun c:tt ()
  (if (setq ss (ssget '((0 . "TEXT"))))
    (progn
      (mapcar '(lambda (x)
                 (XD::TEXT:ADJUSTALIGNMENT x 3 2)
               )
              (xdrx_pickset->ents ss)
      )
      (xdrx_prompt "\n已经将" (sslength ss) "个文字实体对齐方式改为对齐.")
    )
  )
  (princ)
)


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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2017-1-24 21:23:58 | 显示全部楼层
谢谢老大的热心回复!图纸出错应该是我图纸本身的问题。
现在文字对齐突然又可以用了,图块遮罩还是不行。
我是下载的晓东上面的
(defun c:kzz ( / e el na ss colorold)
  (defun *error* (msg)
           (XD::End)
           (setvar "cecolor" colorold)
           (princ msg)
           (princ)
  )

  
  (XD::Begin)
  (setq colorold (getvar "cecolor" ))
  (princ "\n选取要制作遮罩的图块...")
  
  (if (setq ss (ssget '((0 . "INSERT"))))
    (progn
      (setvar "cecolor" "RGB:255,255,255")
      (xdrx_setsstodb ss 0)
      (setq el nil)
      (while (setq e (xdrx_getentdata 0))
        (setq na (xdrx_getentdxf 2))
        (if (not (member na el))
         
          (progn
            (setq el (cons na el))
            (xdrx_Insert_appendWipeout e)
          )
        )
      )
      (xdrx_draworder->top ss)
      (princ (strcat "\n成功制作了" (itoa (sslength ss)) "个图块遮罩!"))
      (setvar "cecolor" colorold)
    )
  )
  (XD::End)
  (princ)
)
(prompt "\n*****图块自动遮罩,命令KZZ*****")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-1-24 23:10:08 | 显示全部楼层
本帖最后由 newer 于 2017-1-24 23:19 编辑

测试了,R17,R19以上的版本都正常,R18的ACAD有问题,是CAD自身的原因,等下个API版本更新解决

是2010-2012CAD 不能加载ACWIPEOUT.ARX的缘故。
有两种解决办法:

1、你原先的代码前面加上 (command ".wipeout" ^c^c)

(defun c:kzz (/ e el na ss colorold)
  (defun *error* (msg)
    (xd::end)
    (setvar "cecolor" colorold)
    (princ msg)
    (princ)
  )
  (xd::begin)
  (setq colorold (getvar "cecolor"))
  (princ "\n选取要制作遮罩的图块...")
  (if (setq ss (ssget '((0 . "INSERT"))))
    (progn
      (command ".wipeout" ^c^c)
      (setvar "cecolor" "RGB:255,255,255")
      (xdrx_setsstodb ss 0)
      (setq el nil)
      (while (setq e (xdrx_getentdata 0))
        (setq na (xdrx_getentdxf 2))
        (if (not (member na el))

          (progn
            (setq el (cons na el))
            (xdrx_insert_appendwipeout e)
          )
        )
      )
      (xdrx_draworder->top ss)
      (princ (strcat "\n成功制作了" (itoa (sslength ss)) "个图块遮罩!"))
      (setvar "cecolor" colorold)
    )
  )
  (xd::end)
  (princ)
)



2、第二个方案

你先用下面函数替代xdrx_insert_appendwipeout

;; e ---INSERT实体名
(defun xd::insert:appendwipeout (e / bwipeout lunkuo mat name x)
  (if (setq lunkuo (xdrx_geom_searchalloutline e 0))
    (progn
      (setq mat (xdrx_matrix_block2wcs e)
            mat (xdrx_matrix_inverse mat)
            name (car (xdrx_getpropertyvalue e "blocktablerecord"))
      )
      (mapcar
        '(lambda (x)
           (vl-cmdf ".wipeout" "" x "y")
           (xdrx_entity_transform (entlast) mat)
           (setq bwipeout (xdrx_block_appendentity name (entlast) t))
           (xdrx_draworder->back (car bwipeout))
         )
        (xdrx_pickset->ents lunkuo)
      )
      (xdrx_draworder->top e)
    )
  )
)


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

使用道具 举报

已领礼包: 86个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 2772个

财富等级: 家财万贯

发表于 2017-1-26 14:18:57 | 显示全部楼层
这个问题我偶尔也遇到,大部分图纸没问题,小部分图纸就出错,不加载API就可以打开图纸。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-1-26 15:14:32 | 显示全部楼层

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2017-2-9 23:02:02 | 显示全部楼层
谢谢老大热心解答!!!!!!
致命错误的问题有的我用2016修复后可以用,有的还是有问题,应该是我的图本身不太好吧,算了,高版本没有问题的!
谢谢解答!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-2-10 01:03:32 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-2-10 01:05:15 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-20 06:49 , Processed in 0.471037 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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