设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8374|回复: 56

[群策群力] 大家一起用OPENDCL开发建立个开源图库

[复制链接]

点击这里给我发消息

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-5 13:17:21 | 显示全部楼层 |阅读模式

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

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

x

大家一起群策群力开发个开源图库,征求大家意见。

基本思路:

    1、用OPENDCL做对话框界面
    2、使用XML文件存储图库信息或者使用开源数据库比如MYSQL,MYSQLITE。

     。。。。。。。。(等待讨论深入)

本贴随着大家讨论,随时更新。
二楼作为程序最新发布的专用贴。

本帖被以下淘专辑推荐:

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

已领礼包: 1个

财富等级: 恭喜发财

发表于 2013-5-16 05:20:12 | 显示全部楼层
本帖最后由 yxpxa 于 2013-5-16 05:42 编辑

东东老大,我觉得表结构就挺好啊,为啥一定要用数据库?
调用数据的时候用 assoc + 关键词,或者其他各种表操作函数
存盘的时候可以用 vl-prin1-to-string 将表直接转换为字符串保存,要加密的话转为二进制也行。
读取数据的时候用 read 可以一次将字符串转换为表,速度超快

设计个好的数据结构,编程的时候,真的事半功倍,反正lisp的强项就是表处理。

比如:
(
(文件夹名A (文件名1 文件名2 文件名3 .....)
(文件夹名B (文件名1 文件名2 文件名3 .....)
.....
)
两层应该够了吧,如果需要也能设计成多层的树结构,用 tree 控件来显示。

如果你觉得可行,布置个作业,大家来完善通用函数,
保存、加载、遍历、排序、任意位置表元素的提取、插入、更新、删除、交换等等,凡数据库能做到的
表处理只会更加方便快捷,好像表结构原本就是人工智能化的数据库。

评分

参与人数 1D豆 +6 贡献 +1 收起 理由
XDSoft + 6 + 1 热心帮忙奖!

查看全部评分

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

使用道具 举报

发表于 2013-5-6 22:16:19 | 显示全部楼层
有谁知道图库中的图片是怎样显示出来的。用的是什么文件?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 0 反对 1

使用道具 举报

已领礼包: 1607个

财富等级: 堆金积玉

发表于 2013-5-6 18:16:18 | 显示全部楼层
dear sir,

one more
Get All Files
Function Syntax(LM:GetAllFiles <Dir> <Subs> [Filetype])
Current Version1.0

Arguments
SymbolTypeDescription
DirStringDirectory to search
SubsBooleanIf True, subdirectories of 'Dir' are included
FiletypeString[Optional] Filter for filetype (DOS pattern e.g. "*.dwg")
Returns
List of filenames, else nil if none are found

Program Description

Retrieves a list of all filenames or those of a specific type residing in the target directory (and, optionally, subdirectories of such directory).

[pcode=lisp,true];;--------------------=={ Get All Files }==-------------------;;
;;                                                            ;;
;;  Retrieves all files or those of a specified filetype that ;;
;;  reside in a directory (and, optionally, subdirectories)   ;;
;;------------------------------------------------------------;;
;;  Author: Lee Mac, Copyright &#169; 2011 - www.lee-mac.com       ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  Dir      - Directory to search                            ;;
;;  Subs     - Boolean, if T, subdirectories are included     ;;
;;  Filetype - (optional) Filter for filetype (DOS pattern)   ;;
;;------------------------------------------------------------;;
;;  Returns:  List of filenames, else nil if none are found   ;;
;;------------------------------------------------------------;;

(defun LM:GetAllFiles ( Dir Subs Filetype / _GetSubFolders )
  
  (defun _GetSubFolders ( folder )
    (apply 'append
      (mapcar
        (function
          (lambda ( f )
            (cons (setq f (strcat folder "\\" f)) (_GetSubFolders f))
          )
        )
        (vl-remove "." (vl-remove ".." (vl-directory-files folder nil -1)))
      )
    )
  )

  (apply 'append
    (mapcar
      (function
        (lambda ( Filepath )
          (mapcar
            (function
              (lambda ( Filename ) (strcat Filepath "\\" Filename))
            )
            (vl-directory-files Filepath Filetype 1)
          )
        )
      )
      (cons Dir (if subs (_GetSubFolders Dir)))
    )
  )
)[/pcode]
       Example Calling Function

This example will list all DWG files in the working directory.

[pcode=lisp,true](mapcar 'print (LM:GetAllFiles (vl-string-right-trim "\\" (getvar 'DWGPREFIX)) nil "*.dwg"))[/pcode]
     Compact Version

This is a concise version of the above and will include subdirectories by default.

[pcode=lisp,true](defun LM:GetAllFiles ( dir typ )
  (append (mapcar '(lambda ( x ) (strcat dir "\\" x)) (vl-directory-files dir typ 1))
    (apply 'append
      (mapcar '(lambda ( x ) (LM:GetAllFiles (strcat dir "\\" x) typ))
        (vl-remove-if '(lambda ( x ) (wcmatch x "`.,`.`.")) (vl-directory-files dir "*" -1))
      )
    )
  )
)[/pcode]


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

使用道具 举报

点击这里给我发消息

已领礼包: 145个

财富等级: 日进斗金

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

使用道具 举报

点击这里给我发消息

已领礼包: 145个

财富等级: 日进斗金

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

使用道具 举报

发表于 2013-5-5 13:45:33 | 显示全部楼层
支持一下,数据库好,即能开源也可以保护吧。

传统的 Dwg + Sld 用CAD的设计中心就可以

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2 及时回复奖!

查看全部评分

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-5-5 13:53:00 | 显示全部楼层

双手双脚同支持。

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2 及时回复奖!

查看全部评分

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-5 14:06:10 | 显示全部楼层
支持,提个建议不知道成不成熟,既然晓东有网络资源和人脉,何不考虑下利用下服务器资源?建立个网络的图库?

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2 及时回复奖!

查看全部评分

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

使用道具 举报

点击这里给我发消息

发表于 2013-5-5 14:29:49 | 显示全部楼层
支持,可是数据库访问LISP不好搞呀,调用COM好像高版本的CAD都会有问题。

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2 及时回复奖!

查看全部评分

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

使用道具 举报

点击这里给我发消息

已领礼包: 145个

财富等级: 日进斗金

 楼主| 发表于 2013-5-5 14:31:49 | 显示全部楼层

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

使用道具 举报

发表于 2013-5-5 15:02:58 | 显示全部楼层
编程搞不懂,我就是来支持一下

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2 及时回复奖!

查看全部评分

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

使用道具 举报

点击这里给我发消息

已领礼包: 145个

财富等级: 日进斗金

 楼主| 发表于 2013-5-5 15:31:09 | 显示全部楼层
大家说说,是做 DOCKBAR 停靠窗口的好,还是模式框 或者 非模式框的 好?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

点击这里给我发消息

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-5-5 17:01:54 | 显示全部楼层
符合用户体验的工具才是好工具!我不做设计,也用不上图库,所以也提不出什么建设性的建议!
就工具本身的形式而言,我建议使用停靠窗口,采用模型树+各种命令按钮的方式,可以点击窗口的命令按钮,弹出二级窗口来浏览图库!
也可以采用非模态窗口,设计成自动隐藏的方式!
其实形式怎样都无所谓,关键是工具要设计符合用户体验!这个就需要大家来献言献策,说说自己的体验是什么!借用一句广告词:大家好,才是真的好!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1632个

财富等级: 堆金积玉

发表于 2013-5-5 20:28:59 | 显示全部楼层
我建议使用停靠窗口+图像按钮

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2 及时回复奖!

查看全部评分

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

使用道具 举报

发表于 2013-5-5 20:53:24 | 显示全部楼层
我的工作中是经常需要插块的  我一开始用的是善美的图库.后来是利用CAD自带的幻灯片的DCL文件做了点更改制作的

评分

参与人数 1D豆 +2 收起 理由
牢固 + 2

查看全部评分

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

使用道具 举报

点击这里给我发消息

已领礼包: 145个

财富等级: 日进斗金

 楼主| 发表于 2013-5-5 21:36:00 | 显示全部楼层
adolfken 发表于 2013-5-5 20:53
我的工作中是经常需要插块的  我一开始用的是善美的图库.后来是利用CAD自带的幻灯片的DCL文件做了点更改制作 ...

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

使用道具 举报

发表于 2013-5-6 08:15:51 | 显示全部楼层
本帖最后由 adolfken 于 2013-5-6 08:38 编辑
XDSoft 发表于 2013-5-5 21:36
善美的图库是免费的吗?如果是可否传上论坛借鉴借鉴。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-1-27 00:59 , Processed in 0.130905 second(s), 73 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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