几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(AutoLISP)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-25, 10:55 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 [求助]dwg2shp

[求助]dwg2shp
www.dimcax.com
[求助]dwg2shp
明经网站上有一个dwg转shp字体的软件,不知为何,不能下载。
大家有没有这个软件阿?传我一份,最好有专家写成lisp,我学习一下。
如有,麻烦发至,如果是exe文件,记得压缩一下,或者改扩展名,我的邮箱不允许发送接受可执行文件,会识别为病毒。
d
怎么没有人帮我?没有人有这个小软件吗?
顶上去,沉下去更没有希望了
d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
( in 0)
( ( ipa ( in ipl))
( ( 'rel ( ipa)) ( ( ipa)) ( ipa))
( in ( in))
)
()
)
( error (ex2 ey2 ex1 ey1 est / ea exx eyy)
( ea ( ( ex1 ey1) ( ex2 ey2))
exx ( 4 ( ea)) eyy ( 4 ( ea))
)
( ( ex1 ey1) ( (- ex2 exx)( ey2 eyy)) 1 1)
( ( (- ex2 exx)( ey2 eyy))
( ( ex2 exx)(- ey2 eyy)) 1 1)
( ( ( ex2 exx)(- ey2 eyy))( ex1 ey1) 1 1)
( ( nil ofn3) ( ofn3))
( ( nil ofn2) ( ofn2))
( ( nil ofn1) ( ofn1))
( ( "\n注意: \n" est "\n请重新修改你的图形,再试一次..."))
( ex1 nil ey1 nil ex2 ni ey2 nil)
()(abcdefg)
)

;-- 2,8,(dx,dy), 空移的描述和处理 ---------------------------------

( 2-xy()
( 2a ( ( x0 y0)( x1 y1))
2xx ( 2 ( 2a)) 2yy ( 2 ( 2a))
)
( ( x1 y1) ( (- x0 2xx)( y0 2yy)) 3 1)
( ( (- x0 2xx)( y0 2yy))
( ( x0 2xx)(- y0 2yy)) 3 1)
( ( ( x0 2xx)(- y0 2yy))( x1 y1) 3 1)
( 2dx (- x1 x0) 2dy (- y1 y0) ax ( 2dx) ay ( 2dy))
( ( 0.3 ax)( ax 0.0))
( ( 0.3 ay)( ay 0.0))
( ( 2dx 0)( xfh "+")( xfh "-"))
( ( 2dy 0)( yfh "+")( yfh "-"))
( (( ( 0 2dx)( 0 2dy)) ;-> cond1
( (( ( ax 127)( ay 127)) ;-> cond1-1
( (( ax ay) ;-> cond1-2
( dn ( ( ax 127) 2 0)
ddd ( ( ax 127) 2 0)
sdy ( "2,4," dn
",8,(" xfh "127," yfh "127,)"
"3," dn
",8,(" xfh ddd "," yfh ddd "),1,"
)
sdyl ( sdyl 12)
)
( sdy ofn2) ( sdy "")
) ;> ax=ay end
(( ax 0)
( dn ( ( ay 127) 2 0)
ddd ( ( ay 127) 2 0)
sdy ( "2,4," dn
",8,(0," yfh "127,)"
"3," dn
",8,(0," yfh ddd "),1,"
)
sdyl ( sdyl 12)
)
( sdy ofn2) ( sdy "")
) ;> ax=0 end
(( ay 0)
( dn ( ( ax 127) 2 0)
ddd ( ( ax 127) 2 0)
sdy ( "2,4," dn
",8,(" xfh "127,0),"
"3," dn
",8,(" xfh ddd ",0),1,"
)
sdyl ( sdyl 12)
)
( sdy ofn2) ( sdy "")
) ;> ay=0 end
( (error x0 y0 x1 y1 "距离太长"))
) ;> cond1-2 end
) ;> ax or ay > 127 end
( ( sdy ( "2,8,(" ( 2dx 2 0) ","
( 2dy 2 0) "),1,"
)
sdyl ( sdyl 5)
)
( sdy ofn2)
) ;> ax and ay < 127 end
) ;> cond1-1 end
)) ;> cond1 end
( 2dx nil 2dy nil ddd nil xfh nil yfh nil))


;-- arc 弧实体的转换 ----------------------------------------------

( s-arc()
( "a.")
( cr ( ( 40 ent))
x ( ( 10 ent)) y ( ( 10 ent))
a1 ( ( 50 ent)) a2 ( ( 51 ent))
a11 ( ( a1 0 3)) a22 ( ( a2 0 3))
x1 ( x ( cr ( a1))) y1 ( y ( cr ( a1)))
x2 ( x ( cr ( a2))) y2 ( y ( cr ( a2)))
dx (- x2 x1) dy (- y2 y1)
)
(2-xy)
( (( ( ( dx) 127.0) ( ( dy) 127.0))
( d ( ( ( (- x2 x1) (- x2 x1)) ( (- y2 y1) (- y2 y1)) ))
h (- cr ( (- ( cr cr) ( 0.25 d d))))
td ( ( ( 2.0 h) d) 127.0)
)
( dx ( dx 2 0) dy ( dy 2 0) td ( td 2 0) )
( sdy ( "12," dx "," dy "," td ",")
sdyl ( sdyl 4)
)
( sdy ofn2)
; ( sdy)
( sdy "" x0 x2 y0 y2)
);-> cond t end
( (error x1 y1 x2 y2 "弧线太长 <s-line>"))
);-> cond end
)
;-- circle 圆实体的转换 -------------------------------------------

( s-circle()
( "c.")
( cr ( ( 40 ent))
x1 ( cr ( ( 10 ent))) y1 ( ( 10 ent))
cr ( cr 2 0)
)
(2-xy)
; ( sdy ( "4," cr ",7,1,3," cr ",") sdyl ( sdyl 6))
( sdy ( "10," cr ",000," ) sdyl ( sdyl 3))
( sdy ofn2)( sdy "" x0 x1 y0 y1 cr nil)
)

;-- line 直线实体的转换 -------------------------------------------

( s-line()
( "l.")
( x1 ( ( 10 ent)) y1 ( ( 10 ent))
x2 ( ( 11 ent)) y2 ( ( 11 ent))
dx (- x2 x1) dy (- y2 y1)
ddx ( dx 2 0) ddy ( dy 2 0)
)
(2-xy)
( (( ( ( dx) 127) ( ( dy) 127))
( sdy ( "8,(" ddx "," ddy "),") sdyl ( sdyl 3))
( sdy ofn2)
; ( sdy)
( sdy "" x0 x2 y0 y2)
);-> cond t end
( (error x1 y1 x2 y2 "线太长 <s-line>"))
);-> cond end
( dx nil dy nil ddx nil ddy nil)
)

;-- write to shp file 填写形文件 ----------------------------------

( write-shp()
( "\n正在写入形定义源文件...")
( ofn2)( ofn2 ( sfn2 "r") ofn1 ( sfn1 "a"))
( odyl ( ( sdyl) 2 0) osno ( sno 2 0)
obtl ( "*" osno "," ( ( 4 ( odyl)) 2 0) "," sna)
)
( obtl ofn1)
( "07,1," ofn1)
( ( txt ( ofn2)) ( txt ofn1))
( "07,2,0" ofn1)
;( "0" ofn1)
; ( sna ofn3)
( ofn1) ( ofn2) ( ofn3)
( odyl nil odtl nil)
)

;-- found *.nam file 形名索引的检索处理 & 输入限制 ----------------

( name-file()
( ofn3 ( sfn3 "r"))
( ( rsna ( ofn3))
( (( rsna sna)
( "\n这个形名已经存在了!")
( sna (getstring" 形名: ") sna ( sna))
( ( ( "" sna)( "save" sna)( rsna sna))
( "\n请重新起名...")
( sna (getstring" 名: ") sna ( sna))
)
( ofn3)
( ofn3 ( sfn3 "r"))
);-> ( rsna sna)
) ;-> cond end
);-> while end
( ofn3)
( ofn3 ( sfn3 "a"))
)

;== dwg to shp 图 --> 形 转换功能的主控段落 ======================

;( c:dwg-shp ()
( c:ds ()
; ( *error* (st) ( *error* nil) ())
( sfn0 (getstring"\n形文件名: "));-> input filename
( ( sfn0 "");-> "return" err
( sfn0 (getstring"\n请确定形文件名: "))
);-> while end

( sfn1 ( sfn0 ".shp")
sfn2 ( sfn0 ".bak")
sfn3 ( sfn0 ".nam") sdy ""
)

( ( ofn3 ( sfn3 "r"));-> new or old file
( ( sno 1)
( ( ofn3) ( sno ( sno)))
( "已有的形定义源文件...")( ofn3)
)
( ( ofn1 ( sfn1 "w") ofn3 ( sfn3 "w"))
( "c" ofn3)( ofn3)
( "*1,9,c" ofn1)
( "2,010,1,10,1,000,2,018,0" ofn1)
( "新文件...") ( sno 2)( ofn1)
)
)

(cprint ( "\n形定义 [" sno))
( sna ( (getstring"] 名: ")))
( ( "" sna)
( sna ( (getstring" 请输入形定义名: ")))
)

( ( ( "save" sna)( 255 sno));-> big while start
( ofn2 ( sfn2 "w") sdyl 0)
(name-file)
( ;inp (getpoint"\n插入基点: ")


x0 ( inp) y0 ( inp) inp nil

x0 0 y0 0
)
( "\n请选定要转换成形定义的图线 ...")
( ss ())
( ( nil ss) ( ssn ( ss)) ( ssn 0))
( ( ssn 2 0))
( "\n但是,图线数量限制在 1到 100之间!<dwg-shp>")
( ss ())
( ( nil ss) ( ssn ( ss)) ( ssn 0))
)
( n (- ssn 1))
( ssn
( ent ( ( ss n))
etype ( ( 0 ent))
)
( (( etype "line")(s-line))
(( etype "arc")(s-arc))
(( etype "circle")(s-circle))
( ( errp ( ( 10 ent))
errx ( errp)
erry ( errp)
)
(error errx erry ( errx 10) erry
( "所指图线中有不能转换的 " etype
"\n 能够转换的对象是:"
" line、circle 和 arc"
)
)
)
)
( n (1- n))
)
( sno ( sno))(write-shp)
( "\nsave(存盘)/<形定义[") ( sno)
( sna ( (getstring"]名>: ")))
( ( "" sna)
( sna ( (getstring" 请输入形定义名: ")))
)
);-> big while end

( "\n形文件: ")( ( sfn0))
( ".shp 已经存好了。")
( "\n感谢您使用我的程序,再见!")
()
)

;== by chen bo xiong =========================================================

人挡杀人,佛挡杀佛
d
很好用
d
如题。就是如何使用lsp将dwg文件中的实体坐标写到txt文件中,然后将经过平常以后的txt中的实体坐标写入到dwg文件中。
d
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 09:07 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多