找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1223|回复: 5

[求助] [求助]:能否直接提取DWG内的描述

[复制链接]
发表于 2002-10-18 02:17:50 | 显示全部楼层 |阅读模式

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

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

×
2000版以后的DWG支持文字描述(在File/Drawing Properties)可以加入comments,
能否直接在Lisp里面读出DWG的这个描述文字?我看见有些图库管理程序是
可以的,但不知如何实现。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2002-10-19 11:35:29 | 显示全部楼层
我找到一个C的库,能不能麻烦晓东把它包装成一个Lisp函数,
放到API中?

这是里面的说明:
//  This program demonstrates the use of the 'DwgProps' class
//  which scans DWG files and extracts DWG Property data if
//  present.  The following command line will build 'pscan.exe':
//      cl -Ox pscan.cpp DwgProps.obj setargv.obj
//
//  Syntax for using the 'pscan' command is:
//      pscan file [file ...]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-10-19 11:39:09 | 显示全部楼层
最初由 Qlin 发布
[B]我找到一个C的库,能不能麻烦晓东把它包装成一个Lisp函数,
放到API中?

这是里面的说明:
//  This program demonstrates the use of the 'DwgProps' class
//  which scans DWG files and extracts DWG Prop... [/B]


行,下个版本的API提供。

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

使用道具 举报

 楼主| 发表于 2002-10-19 12:02:44 | 显示全部楼层
在试着用ODCL写一个Design Center风格的工程信息辅助工具,
我叫它ProjectBar,里面有一个栏目是指定目录下的DWG浏览,
用DWGList实现,我想显示每一个指定文件的Description,而又
不想在AutoCAD里打开它.

又:发现ODCL还有不少古怪的地方:比如说,自动生成的代码
缺少参数、某些回调事件受一些属性的影响不能稳定产生....
对了,顺便问一下,Tab控件能否在程序里控制它显示某一个tab?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-10-19 12:07:17 | 显示全部楼层
再提供一个在AutoCAD内部使用的Automation控件.

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

使用道具 举报

 楼主| 发表于 2002-10-19 12:11:58 | 显示全部楼层
这里还有在图形内部操作这些信息的纯Vlisp代码:

  1. ; Properties needs a routine
  2. ; Date: Thu, 16 Jul 1998 09:31:23 -0700
  3. ; From: Frank Whaley <few@autodesk.com>

  4. ; Here is '(getProps)' and '(putProps)', which
  5. ; extract Drawing Property data to a set of global
  6. ; variables (Title, Subject, etc.) and repack the
  7. ; data from the same set of variables.

  8. (defun getProps (/ xlist val)
  9.   ;;  shorthand for extraction
  10.   (defun val (gc999)
  11.     (cdr (assoc gc999 xlist))
  12.   )
  13.   ;;  pick Xrecord from NOD
  14.   (setq xlist (dictsearch (namedobjdict) "DWGPROPS"))
  15.   ;;  extract values to variables
  16.   (setq Title (val 2)
  17.         Subject (val 3)
  18.         Author (val 4)
  19.         Comments (val 6)
  20.         Keywords (val 7)
  21.         LastSavedBy (val 8)
  22.         RevisionNo (val 9)
  23.         Cust0 (val 300)
  24.         Cust1 (val 301)
  25.         Cust2 (val 302)
  26.         Cust3 (val 303)
  27.         Cust4 (val 304)
  28.         Cust5 (val 305)
  29.         Cust6 (val 306)
  30.         Cust7 (val 307)
  31.         Cust8 (val 308)
  32.         Cust9 (val 309)
  33.   )
  34.   xlist
  35. )

  36. (defun putProps (/ xlist)
  37.   ;;  remove any existing Properties
  38.   (dictremove (namedobjdict) "DWGPROPS")
  39.   ;; make data list
  40.   (setq xlist
  41.       (list
  42.         '(0 . "XRECORD")
  43.         '(100 . "AcDbXrecord")
  44.         '(1 . "DWGPROPS COOKIE")
  45.          (cons 2 Title)
  46.          (cons 3 Subject)
  47.          (cons 4 Author)
  48.          (cons 6 Comments)
  49.          (cons 7 Keywords)
  50.          (cons 8 LastSavedBy)
  51.          (cons 9 RevisionNo)
  52.          (cons 300 Cust0)
  53.          (cons 301 Cust1)
  54.          (cons 302 Cust2)
  55.          (cons 303 Cust3)
  56.          (cons 304 Cust4)
  57.          (cons 305 Cust5)
  58.          (cons 306 Cust6)
  59.          (cons 307 Cust7)
  60.          (cons 308 Cust8)
  61.          (cons 309 Cust9)
  62.          (cons 40 (getvar "TDINDWG"))
  63.          (cons 41 (getvar "TDCREATE"))
  64.          (cons 42 (getvar "TDUPDATE"))
  65.       )
  66.     )
  67.     ;;  make Xrecord and add to NOD
  68.     (dictadd (namedobjdict) "DWGPROPS" (entmakex xlist))
  69. )

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 02:24 , Processed in 0.277912 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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