家园首页· 下载中心· 图纸中心· 文章中心· 教学中心· 晓东词典· 资源中心· FTP联盟· 校友录· 邮购服务
   论坛首页免费注册个人设置帮助退出论坛 爱心币规则  快速链接 游乐园  

  为改善网站速度,本站接受大家捐款,共建家园,点击查看汇款方法和捐款朋友名单...


晓东CAD家园 : Powered by vBulletin version 2.2.1 家园首页 >> 家园论坛 > …编程开发版块 > ※AutoLISP/VLISP 开发技术※ > [LISP函数]:stdlib函数集的简介
  上一主题   下一主题
作者
主题 发布新主题    回复主题
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
1楼楼主说:[LISP函数]:stdlib函数集的简介

上次为了寻找一个找封闭线多义线形心的程序,找到了stdlib
一个由Reini Urban编写的程序库,stdlib是一个标准函数库,
包含了许多的内容,包括表,几何体,字符串,文件操作,数学计算,
时间,实体等许多方面的内容.它的网站在
http://xarch.tu-graz.ac.at/autocad/stdlib/archive/
这个网站好像最近出了一些问题,暂时不能访问
reini urban的lisp faq还出现在
http://www.faqs.org/faqs/CAD/autolisp-faq/
这个似乎eachy版主转贴过
这个标准库应该是主要是由他一个人完成的,非常佩服他能有这么
多精力来完成这项工作,还写了一个非常完整的chm说明书.
当然他也疑惑哪些程序应该提供源码的问题.
这个程序库应该是在vlisp之前开始撰写的,大部分可以用在r14上
对于比较喜欢r14的人挺有用的.
stdlib的应用挺简单的,我一般是把stdlib.lsp加到自动加载,那么
以后就可以直接用了.
似乎有有些高手对stdlib不屑一顾,说其会使得速度变慢.说其文件
操作引用了doslib等等.
但我觉得作为一个提供了源码,可以了解作者思路,提供学习机会的
程序库,已经是特别幸运了,何况里面内置的这么多有用的函数,我们
自己编起来也要颇费一番心思,在你需要很快编制出一个程序而不
考虑版权的情况下,不妨用用.
下面是自己学习stdlib的一些小体会
首先是对函数的简单翻译,水平有限,错漏不少,有些函数也不知道作者
可以拿来作什么用,乱翻了,仅当学习体会
以后有时间再写些学习心得,由于其分很多类,只能一类类慢慢的贴了
先贴表处理的


无标题文档

























































































 
 
函数名称
函数意义
例子
判别类
  
(consp x)是否空表 
(std-dotted-pair-p x)是否点对 
(std-not-proper-list-p
x)
判别最后一个元素是否点对 
(std-string-list-p x)是否字符串表 
(std-number-list-p x)是否数值表 
附件搜索类
  
(first
lst)
cadr 表的第一个元素,如同cadr 
(second lst)表的第二个元素,如同 caddr 
(third lst)表的第三个元素,如同 cadddr 
(fourth lst)表的第四个元素,如同 (car (cddddr)) 
(fifth lst)表的第五个元素,如同 (cadr (cddddr)) 
(sixth lst)表的第六个元素,如同 (caddr (cddddr)) 
(seventh lst)表的第七个元素,如同 (cadddr (cddddr)) 
(eighth lst)表的第八个元素,如同 (car (cddddr (cddddr))) 
(ninth lst)表的第九个元素 
(tenth lst)表的第十个元素 
(rest lst)表中除第一个外的其他元素,如同 cdr 
(std-list-length lst)表中元素长度,接受点对元素accepting dotted pairs 
(std-elt lst i)表中第i个元素的值 
(std-position x lst)元素x在表中的位置 
(std-position-if pred lst)返回第一个满足pred(预定的类型,如字符串,数字,或者是由lambda函数定义的)表达的元素位置,以下称pred为约束条件

(std-position-if
'numberp '(0 1 2 3))      =>
0

(std-position-if 'stringp '(0 "1" 2 "3")) 
=> 1

(std-position-if-not
pred lst)
返回第一个不满足由pred表达的元素位置 
(std-rposition x lst)返回x在表中最后一次出现的位置 
(std-r assoc x alst)assoc对应的函数,返回某个指定点对名称所对应的点对
(std-rassoc "line" '((0 . "line")(8
. "0")(10 0.0 0.0 0.0))=> (0 . "line")
(std-member-if pred lst)查找表中满足约束条件的第一个元素,并与后面的元素组成一个表,如同visual lisp中的vl-member-if-not

(std-member-if 'numberp '(0 1 2 3))     
=> (0 1 2 3)

(std-member-if 'stringp '(0
"1" 2 "3"))  => ("1"
2 "3")

(std-member-if-not pred
lst)
查找表中不满足约束条件的第一个元素,并与后面的元素组成一个表

(std-member-if-not 'numberp '(0 1 2 3))       
=> nil

(std-member-if-not 'stringp '("0" "1"
2 "3"))  => (2 "3")

(std-count
x lst)
返回元素x在表lst中的个数 
(std-count-if pred lst)返回表中满足约束条件pred的元素个数
ALIGN="LEFT">(std-count-if 'stringp '(0 "1" 2 "3")) 
=> 2
(std-count-if-not pred
lst)
与上一个函数相反 
子表
  
(std-firstn n lst) ;返回表中前n个元素组成的子表,对(std-nthcdr n lst)的补充 
(std-nthcdr
n lst) ;
返回表中第n个元素之后所有元素组成的子表
(std-firstn 2 '(0 1 2 3))  =>
(0 1)
(std-nthcdr 2 '(0 1 2 3))  => (2 3)
(std-subseq
lst start end)
返回表中从startend-1的一个表

(std-subseq '(0 1 2 3) 1 3)  =>
(1 2)

(std-subseq '(0 1 2 3) 0 3)  =>
(0 1 2)

(std-subseq '(0 1 2 3) 0 0)  =>
nil

(std-subseq '(0 1 2 3) 0 -1) => error


(std-subseq '(0 1 2 3) 3 4)  => (3)

(std-butlast
lst)
返回除了表中最后一个元素的一个表 
(std-select <lst>
<i>|<list-of-i>)
根据i选出表中第i个元素,或者根据几个i组成的<list-of-i>找出表中的几个元素组成的表。

(std-select '(a b c d) 0)      
=> a
  (std-select '(a b c d) '(1 0)   =>
(b a)

  (std-select '(a b c d) '(1 0 4) =>
error

修改
  
(std-adjoin x lst)把一些x假如到list中,假如是重复元素,则不加入,用于构建没有重复元素的表 X:STR="(std-adjoin 0 '(1 2))=> (0 1 2) (std-adjoin 1 '(1 2)) => (1 2) (std-adjoin 1 nil) => (1) (std-adjoin nil nil) => (nil) ">

(std-adjoin
0 '(1 2))=> (0 1 2)  (std-adjoin 1 '(1 2))
=> (1 2)  (std-adjoin 1 nil)
=> (1)

  (std-adjoin nil nil) =>
(nil) 

非破坏性的操作
  
(std-setnth
new i lst)
用于修改第i个元素为新值new
(std-setnth 'new 2 '(0 1 2)) =>
(0 1 new)
(std-delpos i lst)删除表中第i个元素,返回精简的表
(std-delpos 1 '(1 2))  =>
(1)
(std-remove
x lst)
删除表中元素值为x的所有元素,返回精简的表

(std-remove 0 '(0 1 2))=>
(1 2)
(std-remove -1 '(0 1 2)) => (0 1 2)

(std-remove
0 '(0 1 0 2))=> (1 2)

(std-remove-if pred lst)除表中满足某种约束条件pred的元素,返回表
(std-remove-if 'numberp '(0 1 2))
=> nil
(std-remove-if-not
pred lst)
与上一个函数相反,保留 
(std-remove-duplicateslst)删除重复元素,排序不破坏。 
(std-split-list
n lst)
按照个数n将表分成许多子表
(std-split-list 3 '(0 1 2 3 4 5 6 8 9)) =>
((0 1 2)(3 4 5)(6 7 8)(9))
(std-flatten
lst)
tree =>将表变为一维表,没有子表形式
(std-flatten '((0 1 2)(3 4 (5))(6 7 8)(9)) 
=> (0 1 2 3 4 5 6 8 9)
(std-rotate-left
lst)
把表的第一个元素移到最后一个
(std-rotate-left '(0 1 2 3 4)) =>
(1 2 3 4 0)
(std-rotate-right
lst)
把表的最后一个元素移到第一个 
破坏性的建表形式,push(推)或者pop(取)
  
(std-push x 'lst)将一个元素推到表(堆栈)中,有破坏性

(std-push 0 '(1 2 3))  =>
(0 1 2 3)

(setq stack '(1 2 3)) (std-push 0 'stack)   
=> (0 1 2 3)

!stack                
=> (0 1 2 3)

(std-pop
'lst)
将一个元素从表(堆栈)中取出,有破坏性

(std-pop '(1 2 3))    
=> 1

(setq stack '(1 2 3)) (std-pop 'stack)      
=> 1

!stack                
=> (2 3)

(std-pushnew x 'lst)将新值推到表(堆栈)中,有点类似std-adjoin,有破坏性

(std-pushnew 0 '(0 1 2 3))   =>
(0 1 2 3)

(setq stack '(1 2 3)) (std-push 0 'stack)         
=> (0 1 2 3)

!stack                      
=> (0 1 2 3)

(std-pushmax
x 'lst nmax)
将新值推到表(堆栈)中,但保持表的最大长度为nmax,有破坏性

(std-pushmax 0 '(1 2 3 4) 4)  =>
(0 1 2 3)

(setq stack '(1 2 3)) (std-push 0 'stack 4)        
=> (0 1 2 3)

!stack                       
=> (0 1 2 3)

(std-push 1 'stack 4)        
=> (1 0 1 2)

mapping,
iteration 映射,反复
  
(std-mapatom
func tree)
将表中所有的元素按照func定义的函数进行变化,表中所有元素的树状结构不会改变

(std-mapatom '1+ '(0 1 (2 (3))))=>
(1 2 (3 (4)))

(std-mapatom (function (lambda (x) (cons 0 x))) 
'(0 1 (2 (3))))=> ((0 . 0)(0 . 1) ((0 . 2) ((0 . 3))))

(std-every
pred lst)
对表中元素进行约束条件(pred)的测试,都对了返回t,否则nil
(std-every 'std-pointp points)
(std-every-n
pred lists)
相比every-n,有更多参量
(std-every-n
'and (list (mapcar 'x-of points) (mapcar 'y-of points)))
(std-some
pred lst)
对表中某些元素进行约束条件(pred)的测试,只要有对了就返回t,否则nil 
(std-some-n
pred lists)
(std-some pred lst) 的多参量判别 
集合操作(无序的多集合)
  
(std-union
set1 set2)
集合的并操作,合并两个集合,把第二个集合中的元素加到第一个,不是很稳定的函数,比(std-ordered-union
set1 set2)
稍快
 
(std-ordered-union
set1 set2)
比较稳定的版本,集合并操作,保持第一个集合的顺序,第二个集合中的不同元素加入到集合一的最后
(std-ordered-union '(1 5 3 4) '(1 2 3 3))=>
(1 5 3 4 2)
(std-intersection
set1 set2)
集合的交操作
(std-intersection  '(2 1 5 3 3 4 2) '(2
1 2 3 3))=>(2
1 3 3 2)
(std-set-difference
set subset)
集合1中不在集合2中的元素
(std-set-difference '(0 1 2 3 4 5) '(2 0 6 7))
=> (1 3 4 5)
(std-set-exclusive-or
set1 set2)
集合的余操作,不同时属于集合1或集合2的元素
(std-set-exclusive-or '(0 1 2) '(2 3 4))
=> (0 1 3 4)
(std-subsetp
subset set)
集合1是否集合2的子集

(std-subsetp '(1 2) '(0 2 1 2)) =>
t;

(std-subsetp '(3 1 2) '(0 2 1 2)) =>
nil

(std-set-equal-p
lst1 lst2)
集合12是否完全相等

(std-set-equal-p '(0 1 2) '(1 2 0)) =>
t

(std-set-equal-p '(0 1 2) '(1 1 2 0))=>
nil

表的创建
  
(std-make-listn def)=>建立一个包含ndef的表

(std-make-list 3 nil)=>
(nil nil nil);

(std-make-list 3 0.0)=>
(0.0 0.0 0.0)

(std-int-list
n)
=> 创建一个从0n-1整数序列的表
(std-int-list 3)=> (0
1 2)
(std-iseq
start end)
创建一个从startend的整数表
 (std-iseq 1 5)=>
(1 2 3 4 5);
(std-iseq 5 5)=> (5)
(std-rseq
start end n)
real sequence of n nums 
(std-nxtcyc i n incr-func)找出第i个元素在整数n循环(就是0123n-1)中,下一个应该出现的数,一个比较奇怪的概念,据作者说用在多义线的子实体方面比较有用,

(std-nxtcyc 0 3 '1+)=>
1

(std-nxtcyc 1 3 '1+)=> 2

 
(std-nxtcyc 2 3 '1+)=> 0

(std-nxtcyc 3
3 '1+)=> 1

(std-copy-treelst)=>把一个表拷贝到一个备份中,比较奇怪,作者说这个几乎在autolisp中不用,除了说想对表排序又不想破坏其结构。 
排序和整合
  
(std-sortlst
less-pred)
排序函数

(std-stable-sort '(2 0 1 2 3 4 0) '<) 
=> (0 0 1 2 2 3 4)

(std-fast-sort '("2" "1"
"3" "4" "0") '<) =>
("0" "1" "2" "3" "4")

(std-sort pointlist '(lambda (x y) (< (car x) (car y))))

(std-stable-sortlst
less-pred)
类似,不删除多余元素,保留次序 
(std-fast-sortlst
less-pred)
删除多余元素 
(std-mergelst1
lst2 less-pred)
对两个表按某种排序法进行合并
(std-merge '(0 2 3) '(1 4 5) '<)=>
(0 1 2 3 4 5)
随机数
  
(std-randomize
lst)
对原表进行随机打乱
(std-randomize
'(0 1 2 3 4)) 
(std-random-elt
lst)
随机取出表中的某个元素 





向版主反映该贴 | IP: 已记录



结构分析、CAD Autolisp技术、软件使用技巧
http://qjchen.yo2.cn

2005年10月20日 03:14
snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
狂刀 [查找更多关于狂刀的帖子]等级30
白银长老


ID: No.194606
发贴数: 1191

经验值: 10%
等级: 30 级

现金:1589¥
存款:

积分: 6
注册日期: 2004.11.19
日均在线: 0.29 小时
来  自:
2楼楼主说:

比较全,其中论坛有很多已经写出来了



向版主反映该贴 | IP: 已记录




删除多义线的指定param参数顶点
显示隐藏工具条开关程序
表格诸列中点的坐标值
取曲线上特定测量点或等分点
框选删除不等比块内实体的程序
ini格式文件读取函数
模拟特性匹配的选择方式,支持undo
自由剪切TRIM(一),多功能
自由剪切TRIM(二),方便快捷
member反效函数
定距离倒角
校正水平,垂直直线
删除文本中所有括号
按字母/数字分解字符串
全能更改字高程序
求曲线内部任意一点
超级反剪切
全能更改字高程序

2005年10月20日 04:20
狂刀 离线引用回复 点这里给 狂刀 发送一条悄悄话 查找 狂刀 的更多帖子 编辑/删除
taner [查找更多关于taner的帖子]等级23
支柱会员


ID: No.70647
发贴数: 666

经验值: 50%
等级: 23 级

现金:113¥
存款:1445¥

积分: 4
注册日期: 2003.08.07
日均在线: 0.47 小时
来  自: 天下之大------中国
3楼楼主说:

能否將這個函數集貼上來?



向版主反映该贴 | IP: 已记录



天天學習,好好向上.
QQ空间

2005年10月20日 14:12
taner 离线引用回复 点这里给 taner 发送一条悄悄话 查找 taner 的更多帖子 编辑/删除
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
4楼楼主说:

http://p4.xdcad.net/forum/showthrea...665#post2278665
在这个贴可以下载
或者是下面这个带有chm帮助文件的rar



上传的附件
 small-stdlib.rar (大小:498.64 KB,68次下载)

下载提示:
  • 点此查看:爱心币规则
  • 左键单击链接使用浏览器下载.否则可能下载到错误文件.两次下载时间间隔由你的日均在线时间决定.
  • 对于多卷压缩文件,下载时请将文件名下划线(包括下划线)前面的数字前缀去掉,保留后面的文件名即可,否则不能正确解开压缩.
  • FTP服务器限制一个IP地址登陆,请下载完一个文件后,再开始点击下载其他文件.
  • 如果你在局域网内,如果不能下载,请联系你们网管开放FTP端口.
  • 向版主反映该贴 | IP: 已记录



    结构分析、CAD Autolisp技术、软件使用技巧
    http://qjchen.yo2.cn

    由 snoopychen 于 2005年10月21日 03:07 最后编辑

    2005年10月20日 14:42
    snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
    snoopychen [查找更多关于snoopychen的帖子]积分28
    超级会员


    ID: No.8476
    发贴数: 365

    经验值: 82%
    等级: 17 级

    现金:633¥
    存款:

    积分: 28
    注册日期: 2002.08.04
    日均在线: 0.31 小时
    来  自:
    5楼楼主说:

    由于表格不好弄,只好把其他部分做成一个gif文件



    snoopychen 附带了这个的图片 (这个图片经过缩小处理,鼠标滚轮缩放图片或点击图片可以查看清晰效果) :

    向版主反映该贴 | IP: 已记录



    结构分析、CAD Autolisp技术、软件使用技巧
    http://qjchen.yo2.cn

    2005年10月21日 03:10
    snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
    taner [查找更多关于taner的帖子]等级23
    支柱会员


    ID: No.70647
    发贴数: 666

    经验值: 50%
    等级: 23 级

    现金:113¥
    存款:1445¥

    积分: 4
    注册日期: 2003.08.07
    日均在线: 0.47 小时
    来  自: 天下之大------中国
    6楼楼主说:

    能否用EXCEL,壓縮後做個附件傳上來?下載後存檔方便些.



    向版主反映该贴 | IP: 已记录



    天天學習,好好向上.
    QQ空间

    2005年10月21日 10:23
    taner 离线引用回复 点这里给 taner 发送一条悄悄话 查找 taner 的更多帖子 编辑/删除
    xyz518mm [查找更多关于xyz518mm的帖子]等级22
    支柱会员


    ID: No.4198
    发贴数: 599

    经验值: 42%
    等级: 22 级

    现金:48¥
    存款:744¥

    积分: 0
    注册日期: 2002.04.21
    日均在线: 0.49 小时
    来  自:
    7楼楼主说:

    赞成楼上的建议
    希望可以看的到



    向版主反映该贴 | IP: 已记录



    blog
    http://jthwa777.blogspot.com/

    2005年10月22日 00:28
    xyz518mm 离线引用回复 点这里给 xyz518mm 发送一条悄悄话 查找 xyz518mm 的更多帖子 编辑/删除
    狂刀 [查找更多关于狂刀的帖子]等级30
    白银长老


    ID: No.194606
    发贴数: 1191

    经验值: 10%
    等级: 30 级

    现金:1589¥
    存款:

    积分: 6
    注册日期: 2004.11.19
    日均在线: 0.29 小时
    来  自:
    8楼楼主说:

    晕,简直牛头不对马嘴,4楼该给的都给了呀@!



    向版主反映该贴 | IP: 已记录




    删除多义线的指定param参数顶点
    显示隐藏工具条开关程序
    表格诸列中点的坐标值
    取曲线上特定测量点或等分点
    框选删除不等比块内实体的程序
    ini格式文件读取函数
    模拟特性匹配的选择方式,支持undo
    自由剪切TRIM(一),多功能
    自由剪切TRIM(二),方便快捷
    member反效函数
    定距离倒角
    校正水平,垂直直线
    删除文本中所有括号
    按字母/数字分解字符串
    全能更改字高程序
    求曲线内部任意一点
    超级反剪切
    全能更改字高程序

    2005年10月22日 15:43
    狂刀 离线引用回复 点这里给 狂刀 发送一条悄悄话 查找 狂刀 的更多帖子 编辑/删除
    aeo [查找更多关于aeo的帖子]等级37积分69捐款会员
    斑竹


    ID: No.3825
    发贴数: 2023

    经验值: 13%
    等级: 37 级

    现金:952¥
    存款:2300¥

    积分: 69
    注册日期: 2002.04.13
    日均在线: 0.38 小时
    来  自: 无锡
    9楼楼主说:

    其实它出来的比较早
    后来vlisp出来了,很多东西就没必要了,它好像也就不更新了.
    有的函数分的太细了,感觉没必要.



    向版主反映该贴 | IP: 已记录







    How many road must a man walk down .

    before we called him a man .


    2005年10月22日 16:43
    aeo 离线引用回复 点这里给 aeo 发送一条悄悄话 查找 aeo 的更多帖子 编辑/删除
    chenknight [查找更多关于chenknight的帖子]
    初级会员


    ID: No.102634
    发贴数: 21

    经验值: 31%
    等级: 3 级

    现金:11¥
    存款:

    积分: 0
    注册日期: 2003.12.14
    日均在线: 0.01 小时
    来  自:
    10楼楼主说:

    比较早的东东的



    向版主反映该贴 | IP: 已记录


    2005年10月23日 16:35
    chenknight 离线引用回复 点这里给 chenknight 发送一条悄悄话 查找 chenknight 的更多帖子 编辑/删除
    snoopychen [查找更多关于snoopychen的帖子]积分28
    超级会员


    ID: No.8476
    发贴数: 365

    经验值: 82%
    等级: 17 级

    现金:633¥
    存款:

    积分: 28
    注册日期: 2002.08.04
    日均在线: 0.31 小时
    来  自:
    11楼楼主说:

    对,这个已经很久没有更新了,好像02年之后就没有了
    作者本人可能对vital lisp 或者common lisp 这些原生lisp比较熟,所以各种编程的方法和思路
    都挺正规的。递归啊什么的都用的很好。
    他的函数分类是偏细分了些。
    emule上有关于AI的一个压缩包,里面有好几本关于纯lisp的书,
    比如Prentice Hall - On Lisp - Advanced Techniques for Common Lisp - 1993
    讲了不少算法,也有挺多源码的
    虽然和autolisp不完全一样,看看也挺有趣的
    关于用图形表示这些函数,个人的感觉是有时候在论坛上看到不少东西,挺吸引的,就下载附件了,结果之后硬盘上存了不少东西,一段时间没去整理,也就浪费了这些好软件了。所以发成图形,直接在论坛上看看也就算数,要是版主们觉得会浪费空间的话,那我再想想办法:)

    现在做的html版本应该好一些




    向版主反映该贴 | IP: 已记录



    结构分析、CAD Autolisp技术、软件使用技巧
    http://qjchen.yo2.cn

    由 snoopychen 于 2006年10月14日 00:49 最后编辑

    2005年10月24日 10:40
    snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
    时区: GMT北京时间. 现在时间: 11:47. 发布新主题    回复主题 
      上一主题   下一主题
    快速回复 [字数限制(为0不限制):0]
    标题:
    选项:
    自动分析URL
    Email 通知
    显示签名

    在新主题帖子中上传一个附件上传附件[最大: 1024000 字节:] 附件收爱心币!
    有效文件扩展名: gif jpg dwf pdf txt zip jpeg lsp dcl doc c cpp swf rar 7z png
    显示可打印版本 | 将本页发送给朋友 | 订阅该主题 | 添加到收藏夹

    论坛跳转:
    给这个主题评分:

    论坛状态:
    你不可以发布新主题
    你不可以回复主题
    你不可以上传附件
    你不可以编辑自己的帖子
    HTML代码 允许
    vB代码 允许
    表情符号 禁止
    [IMG]代码 允许
     

    < 管理员信箱 --辽ICP备05017898号 >
    MSN:ad@xdcad.net 点击这里给我发消息 

    本论坛属于个人性质的论坛,仅提供会员交流!
    拒绝任何人以任何形式在本论坛发表与中华人民共和国法律有抵触的言论!否则后果自负