找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5503|回复: 6

分享两个宏,有详细注解,可尽情修改使用,代码也一起放了。

[复制链接]
发表于 2021-1-13 14:11:47 | 显示全部楼层 |阅读模式

% Y4 l8 M. a! x9 x, O0 z2 K$ F工程图转格式:* V! c- V% \  N" c; a
6 [8 _* Y+ k. N9 {2 T

+ s& P# [# L$ L9 B1 EDim swApp As Object
/ K( V" q% O) Y5 x: u( {Dim Part As Object
) z# J  c- b( h8 H& K' U- M- MDim Filename As String8 ?3 ]# R& k5 D( s1 i
Dim No As Integer
( m8 w0 z' H: |; PDim Title As String          '以上设定变量
6 p" L! C" |6 S4 G# nSub main()
  i4 z! R% q* I/ y, H$ T! @$ [4 BSet swApp = Application.SldWorks2 ]; d8 e' b7 V1 o9 @+ U
Set Part = swApp.ActiveDoc                                                  '以上交换数据* u9 o( B1 G2 x7 r
Filename = Part.GetPathName()                                               'Filename为文件名
" B, D5 N6 y% o- s8 DNo = Len(Filename)                                                          'no为工程图文件名字符串总数- I5 O; E9 n3 W0 s; A- a* \
If No > 0 Then                                                              '当NO大于0时(转换格式名称是工程图名称,故要先保存工程图才可转换,工程图未保存无名称,无字符串,不可进行一下步)
6 @% n9 d/ J3 Z, j$ s- cFilename = Left(Filename, No - 7) + "." + Right(Filename, 1)                '字串符操作,no-7为去掉工程图后缀名,"."+ right(filename,1)为增加后缀名最后一个字母作为识别,用于区别客户来图,可不要- q' f( a0 l! l8 b# U% ^  {# G8 O
Part.SaveAs2 Filename & ".dwg", 0, True, False                              '输出需要转换的格式文件,已有文件则自动替换,不提示,(有些格式文件在打开状态中不可替换,替换不成功也不提示)! Q' V3 O1 _( W' n! p
Part.SaveAs2 Filename & ".pdf", 0, True, False
/ p. F/ I8 n/ ^1 ^8 CEnd If: h1 y$ F1 [! q1 O
End Sub2 h6 ^0 q8 ?* @: G$ d1 A- ]
  m% R* y+ Y. J; g
, x! q- i+ ~$ |" K3 X3 r
; b  a5 l3 M- z" m& l
属性改写宏:
$ ~/ v% W. i3 s: P
+ {4 M: E" i! ?% `- A( D- V* A, @' E' r

$ o$ p8 p# |# x* ~! `1 t7 v7 GSub main()
+ J2 b( O! z1 C7 V8 f; e/ |+ l( V! J4 M$ V4 {1 V1 C7 Q
Dim swApp As SldWorks.SldWorks
. Z, y2 j/ I  F7 EDim swModel2 As SldWorks.ModelDoc27 C$ n9 ^' L2 t. |: M0 y
Dim SelMgr As SldWorks.SelectionMgr
7 c$ w& Y3 \1 S) YDim vCustInfoNameArr2 As Variant$ R) B1 B; l; V% M8 P
Dim vCustInfoName2 As Variant
0 M7 F2 |, ~. `( T( r) L7 z1 L+ KDim CurCFGname As Variant: D1 Q0 q; [+ ~
Dim CurCFGnameCount As Integer, G% v' l8 y- X5 I, Z# E" s# W
Dim Vnamearr As Variant. I5 O' G9 L4 J$ c
Dim CusPropMgr As CustomPropertyManager# V( m4 t- S, I* T$ I
Dim bRet As Boolean
, f4 a! B9 f$ T( n( _% D0 |9 n" sDim Vnamearr2 As Variant
2 M( W& w1 \6 U$ M2 G1 u" G; s- R" d9 N+ V, i
Dim strmat As String; x$ a3 H6 I* c6 s
Dim tempvalue As String, p8 ~$ ]; M, l- m; e. z# o

# W- u1 r9 M9 {Set swApp = Application.SldWorks
' i1 |5 ?- @  d/ E- ESet swModel2 = swApp.ActiveDoc' J4 o1 l; S, {* [- U
Set SelMgr = swModel2.SelectionManager '
2 u6 `( r% ]2 K; [, D- i" A& g6 F4 K  P0 P" H
Dim tg1 As String0 O" _$ ^; r5 [3 x5 t; c+ P
Dim tg2 As String6 S, ]9 X$ a) ]8 Q
Dim tg3 As String* v" b7 s5 _! _) k4 v9 Y2 f3 e* Z
Dim tg4 As String
: w- T% T5 K/ S8 m7 X& Y( cDim tg5 As String
) A: `7 E& b8 i7 y. M- }5 ^Dim tg6 As String) z3 P" D* ~- f" ^9 j6 a( M3 ?: |1 y
Dim tg7 As String
  X+ c- i0 `5 Q/ V/ D7 sDim tg8 As String
/ J, m& ]% o  \1 ~% f8 d- mDim tg9 As String
. F8 H# \) @9 aDim tg10 As String* S4 w6 O. S, w" b; Y( i
Dim tg11 As String! C# D+ N# K+ K, `* `) C
Dim wm As String
% z2 N, W* X6 a2 F9 MDim wm1 As Integer
9 o& |2 M9 h9 D9 O3 b9 `5 P6 x# TDim wm2 As String/ n( o2 k. |* B; I6 e6 g/ k, y3 v4 `8 ^
Dim wm3 As String
# m+ z1 S) _6 k; {) c- t8 sDim wm4 As String
) c# P$ |( X8 R, h4 N# ~Dim wm5 As String8 N$ c1 @; Q' J( I
Dim wm6 As String, l0 F* z' f9 N6 x5 e5 ]
Dim wm7 As Integer0 i6 q: G% D' T/ ?7 o6 M
Dim wm8 As String7 `! e, P7 X0 |, c! k
Dim wm9 As Integer
# V7 i9 o+ ~. e2 {Dim lz As String
4 c- x3 S% |8 Y7 A' W) c  I7 t5 aDim lz1 As Integer  V* Q: s/ O0 b2 [0 N( `8 D6 g* ^- `# j! Y
Dim lz2 As String
/ I% t% ~* S9 l! p2 ZDim lz3 As String  ~0 @/ ?, E4 R6 ?
Dim lz4 As Integer
& m% u2 h4 O# @1 j9 J5 mDim lz5 As Integer* g* b) A* {) X! A# `$ L9 g/ {
Dim lz6 As String7 X5 i7 P7 L) F0 M7 @
Dim lz7 As Integer                                                                     '以上为设定变量
  V6 ]3 O& B6 W( p3 l1 v3 a) N% b! q& _

7 W. }2 N+ |, G% dswApp.ActiveDoc.ActiveView.FrameState = 1; i5 g! W( ?$ d" `9 _! }, N: q1 n& X
vCustInfoNameArr2 = swModel2.GetCustomInfoNames
9 G, j, F* E. l+ L2 m8 Z  If Not IsEmpty(vCustInfoNameArr2) Then) \4 z; T3 s. T, M! L! W$ I
     For Each vCustInfoName2 In vCustInfoNameArr2
; Y" K* F' w" ^: j9 M         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)6 D/ s: U& e1 `7 P* E0 m
      Next
+ @3 V, x6 a: X( C, B$ q  End If                                                                               '此段是删除自定属性中的所有项和其项值% S: p7 q' I" B

. o) x' d+ W5 F
% U8 p1 D: T! M  a. ~4 [; ]: {CurCFGname = swModel2.GetConfigurationNames& V. L/ _) s: K! S& Q
CurCFGnameCount = swModel2.GetConfigurationCount
& X' y3 C3 V! k; a$ u* v! R; {For i = 0 To CurCFGnameCount - 19 h! ^; {5 b. P1 u' [4 \9 \
    Set CusPropMgr = swModel2.Extension.CustomPropertyManager(CurCFGname(i)), _4 e& b1 R5 R& A0 n; `
    Vnamearr = CusPropMgr.GetNames" P9 W! G" E5 I9 @1 r& f
    If Not IsEmpty(Vnamearr) Then' O, X% q8 ?! H: T7 k- R/ S" g
        For Each Vnamearr2 In Vnamearr
# h# w6 q" h9 w7 I            bRet = swModel2.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
. l! W3 d# `7 ?4 Z8 h2 x* ]. t        Next
/ Q4 n* p: u, k& t4 S    End If
5 J6 ^2 _; i# {$ p/ O3 v9 T    Next                                                                               '此断是删除其他配置中的属性所有项和其项值
/ m; ~& S& o8 u% N+ w+ n- g8 `3 X4 B& a- [

6 d" y4 X8 i0 M7 {# z/ ?; ^wm = swApp.ActiveDoc.GetTitle()                                                         '定义是文件名
. b4 Y' K* y8 ?" Ilz = swApp.ActiveDoc.GetPathName()                                                      '定义为文件路径: D& z0 e% Q7 _2 Q. \* q
tg6 = Chr(34) + Trim("SW-Material" + "@") + wm + Chr(34)                                '定义材料属性
; {4 V% I; w. f- [' Stg7 = Chr(34) + Trim("厚度" + "@") + wm + Chr(34)                                       '定义钣金厚度属性5 [3 ]1 n! W2 L' Z6 k
tg8 = Chr(34) + Trim("SW-Mass" + "@") + wm + Chr(34) + "kg"                             '定义质量属性
/ Q6 e4 h3 Z  Z' N) V3 L+ g' xtg9 = Chr(34) + Trim("SW-SurfaceArea" + "@") + wm + Chr(34) + "㎡"                      '定义表面积属性
3 w) w, H& ~6 f7 g  t6 MbRet = swModel2.DeleteCustomInfo2("", "图号")
& e1 N; {$ Y2 \/ m, [) ybRet = swModel2.DeleteCustomInfo2("", "Description")! Q+ q7 m4 r/ ~& N" h4 {/ O, i

; ~& Y& L' R4 n! J6 o* q2 E, V, }4 e
- P! z0 T- Y* T' N9 e' Twm1 = InStrRev(wm, " ") - 1                                                              '引号内为空格,为图名分离符号        '从右向左搜索到第一个" "符号为第几个字串符. H6 y* T: {: Q0 s/ C9 c
If wm1 > 0 Then                                                                          '当mw1大于0量时
; z7 I4 p! o* w" T' n% l8 Q, Y* [    wm2 = Left(wm, wm1)                                                                  'wm2等于从wm的左侧开始提取mw1个字符
& U" \4 `, ]+ d    wm3 = Left(LTrim(wm), 3)                                                             'wm等于wm去除左侧无效字符的左前三个字符* o- @1 v) ?# N! R0 [! S; T/ ~
    If wm3 = "GBT" Then                                                                  '当wm3等于"GBT"时
. ]7 w- \) m" O) l& T( Y        wm4 = "GB/T" + Mid(wm2, 4)                                                       'wm4等于"GB/T"和wm2的第4个和后面的所有字符              '当零件是国标时添加国标号,文件名中/是非法字符
- u. Q9 B9 l8 P; c    Else
: _, \5 c/ |- `6 {3 Y& m- q+ g        wm4 = wm2                                                                         '否则wm4等wm2           '空格前面是图号* g0 ]3 \$ T' m/ W6 t
    End If
! {% M) k' R! f9 l, z! ~. N
5 b: ]/ t6 I0 x1 V    wm5 = Mid(wm, wm1 + 2)                                                                'wm5等于wm中的第wm1+2个后面的所有字符
! i! H) h& p4 _" R    wm6 = Right(wm, 7)                                                                    'wm6等于wm最后面的7个字符  @4 l/ ~; i1 X% F: F) Z; L
    If wm6 = ".SLDPRT" Or wm6 = ".SLDASM" Or wm6 = ".sldprt" Or wm6 = ".sldasm" Then      '当wm6等于这4个值时$ d: t1 Y7 L* h0 `0 X$ S
        wm7 = Len(wm5) - 7                                                                'wm7等于wm5的所有字符数-7
; ?  s" V* M/ L6 o    Else
, C5 z. L: }* r0 B& s- C1 W6 G        wm7 = Len(wm5)                                                                    '否则wm7等于wm5的所有字符数4 q4 [  S; l7 K; F1 T7 a
    End If1 t6 T0 {8 [) ~/ y+ m, M
    tg5 = Left(wm5, wm7)                                                                  'tg5等于wm5左侧的wm7个字符          ,空格后面是名称,有后缀名并去掉后缀名,无后缀后(文件未保存时)直接上档" \$ _' S7 m* S) _) @

% i, V& c" u/ I2 `" a- R, {4 KEnd If                                                                                                                       '此段为图名分离定义
2 |7 P" U4 H: t$ I
& S. d& c5 q: `( v2 m
- i! i2 j* r$ N7 aIf wm1 > 0 Then                                                                           '当wm1大于0时
8 O- z5 w0 |! y6 H5 A  u/ etg4 = wm4                                                                                 'tg4等于wm4              '文件名有空格时,图号为分离出来图号& U$ ~" Z7 ]% v6 t# [( A/ s6 _
Else: M5 f# [1 s" N+ o  g
    wm8 = Right(wm, 7)                                                                    'wm8等于wm最后面的7个字符
1 A/ }1 u7 S+ x. K1 V. o    If wm8 = ".SLDPRT" Or wm8 = ".SLDASM" Or wm8 = ".sldprt" Or wm8 = ".sldasm" Then      '当wm8等于这4个值时8 `$ n- P( ]+ ~- |/ j
        wm9 = Len(wm) - 7                                                                 'wm9等于wm的所有字符数-7
6 ?8 V" Y3 ^4 ?$ w+ [4 P  U    Else+ O2 Y0 x! E% e5 p" |
        wm9 = Len(wm)* D. L4 W3 J1 @1 |9 h( t
    End If                                                                                '否则wm9等于wm所有字符数-7  F7 N- r0 E3 l2 ^0 M
tg4 = Left(wm, wm9)                                                                       'tg4等于wm左侧的wm9个字符    '文件无空格时,文件名即是图号,并去掉后缀名,无后缀名(文件未保存时)直接上档
) R& T. s$ K+ t' d% E, vEnd If                                                                                                                        '此段为非图号名称命名文件,将文件名加到图号属性
7 Y' f) L+ G- T/ a9 `' i5 T'例,fgq01-001 前门板:分离后图号(fgq-001),名称(前门板)$ I" Q4 l1 z* w9 D6 u5 a
'例,fgq01-001 前 门板:分离后图号(fgq-001 前),名称(门板)
5 r- t6 _* F" F; d# A9 F6 J" |'例,fgq01-001-前门板:分离后图号(fgq-001-前门板),名称为空
4 Q/ k2 W  G, Z3 F& s' }# C'以最后一个空格为准分离
" {3 l  O# X/ n) Z3 D6 f4 p) t0 t2 j
* @/ s/ @1 }3 ^8 V6 R$ z2 H( n* }
lz1 = InStrRev(lz, "--")                                                                 'lz1为lz由后向前搜索到第一个"--"字符在第几个  T+ a2 N" i2 Y% p' {2 K
If lz1 > 0 Then                                                                          '当lz1大于0时
! k1 \/ M* D$ U4 L# Xlz2 = Mid(lz, lz1 - 8, 8)                                                                'lz2等于lz的第lz1-8个和其后面8个字符
, i1 k; q  y7 o+ jlz3 = Mid(lz, lz1 + 2)                                                                   'lz3等于lz的第lz2+2个后其后面所有字符* Q9 \2 @- a8 o# o4 c7 ]8 G% b
lz4 = InStrRev(lz2, "\")                                                                 'lz4为lz2由后向前搜索到第一个"\"字符在第几个' u9 ^' V: w! z) X; p) w
lz5 = InStr(lz3, "\")                                                                    'lz5为lz2由前向后搜索到第一个"\"字符在第几个
& U7 ~0 F  u6 O: ctg1 = Mid(lz2, lz4 + 1)                                                                  'tg1等于lz2的第lz4+1个后面的所有字符
* y# H2 Y, y& T'tg1 = Right(lz2, 8 - lz4)                                                               'tg1等于lz2右侧的8-lz4个字符(lz2总字符为8个)
% G. h3 \- A) i& M5 Btg2 = Left(lz3, lz5 - 1)                                                                 'tg2等于lz3左侧的lz5-1个字符' q- T  g% M3 k: N; a3 d2 y
, v5 L# [9 }, X7 ]* `9 d
lz6 = Mid(lz3, lz5 + 1)                                                                  'lz6等于lz3第lz5+1个后面的所有字符. J1 K# g' S$ x7 c: v. k
lz7 = InStr(lz6, "\")                                                                    'lz7为lz6由左向右搜索出第一个"\"字符在第几个1 G6 n* v3 k2 i# m
If lz7 > 0 Then                                                                          '当lz7大于0时2 Y4 U* ]; P" P! W7 _. b3 E* B
tg3 = Left(lz6, lz7 - 1)                                                                 'tg3等于lz6左侧的lz7-1个字符
9 u9 t: H8 {6 {) j/ dEnd If. M8 M* r+ G( Z" Q% T
End If                                                                                    '此段为文件路径提取项目号' ?3 _" a* N6 C
'例,零件文件完整路径为:E:\工作文档\B-非标产品\非标--F类\FGQ--定制角架\2020版\前门板.SLDPRT0 B$ j. ]3 s$ j+ T- l7 W& e
'由后向前搜索“--”,第一个“--”向前到“\”间为产品编号(FGQ),向后到“\”间为产品名称(定制角架),向后的第一个“\”和第二个间“\”,为版本号(2020版)。
+ O6 y+ G) n/ u! U' m
+ x9 k3 [, X; I1 ?, ?) T+ V2 R; ^; G" b. @/ c
! q6 D' h/ z7 o5 P. B9 R# G
bRet = swModel2.AddCustomInfo3("", "产品编号", swCustomInfoText, tg1)
1 T; ~3 n+ w$ C/ u) T2 h7 MbRet = swModel2.AddCustomInfo3("", "产品名称", swCustomInfoText, tg2)$ Z) ]3 w& L/ K* p! O
bRet = swModel2.AddCustomInfo3("", "版本号", swCustomInfoText, tg3)
5 W* _8 \8 e/ ]3 R8 @bRet = swModel2.AddCustomInfo3("", "图号", swCustomInfoText, tg4)6 Q2 S2 I8 ]$ o3 [, Y+ p
bRet = swModel2.AddCustomInfo3("", "Description", swCustomInfoText, tg5)
/ K$ i7 ?" x) N1 }# O. X& ]4 c5 TbRet = swModel2.AddCustomInfo3("", "数量", swCustomInfoText, "1")4 M8 C3 n; j; Q- d5 C+ a
bRet = swModel2.AddCustomInfo3("", "备注1", swCustomInfoText, " ")
5 i0 K) s6 i- }+ Z0 j8 w. [bRet = swModel2.AddCustomInfo3("", "备注2", swCustomInfoText, " ")
7 c! k" n* y$ ?; V" i3 ObRet = swModel2.AddCustomInfo3("", "备注3", swCustomInfoText, " ")1 ~" _" j: J2 v3 A
bRet = swModel2.AddCustomInfo3("", "Material", swCustomInfoText, tg6)
" Z- y1 n! I. m3 h4 b: Z- WbRet = swModel2.AddCustomInfo3("", "SH", swCustomInfoText, tg7)
0 {- C* `) j6 u2 c! W' J* }bRet = swModel2.AddCustomInfo3("", "重量", swCustomInfoText, tg8)
- G5 O, J) H+ ~) G4 {% N& EbRet = swModel2.AddCustomInfo3("", "表面积", swCustomInfoText, tg9)                         '此段为填写自定义属性项与其值
- @8 |( B( |* ]
) M3 w7 |7 I9 H8 D" i) iDim thisFeat As SldWorks.Feature                                                         '另外增加一段宏,取读取切割清单数据,并添加到属性项。
$ w  B4 k6 K6 Z* ^; _, |Dim thisSubFeat As SldWorks.Feature
, X6 {# ?+ E4 ?2 Y5 `1 @Dim cutFolder As Object
% A" `5 l5 |. X7 f! R. Z, uDim BodyCount As Integer
2 k& p# p7 ?0 [5 \3 s" K  e: ZDim custPropMgr As SldWorks.CustomPropertyManager- K0 u; {4 [7 r; M3 [  }4 ~+ P
Dim propNames As Variant
$ q) u" R. W, o# TDim vName As Variant5 d: H( i. l. F9 ~1 C' h8 H% W: `% O
Dim propName As String
5 v7 R9 a6 f  s8 mDim Value As String
% t1 ?0 S2 l0 @/ \9 ^Dim resolvedValue As String  ^  s0 m% c$ b+ e" }2 Y
Dim bjkcd As Double
- A4 j* P$ O$ Z1 ?8 r6 `( DDim bjkkd As Double
* b8 M, H2 m" K'Sub main()
3 i# K' I  `% P3 y( @2 t'Set swApp = Application.SldWorks9 a& `. A9 N1 R. G' f* f
Set Part = swApp.ActiveDoc/ N& g' v7 `8 e1 B9 X- Y7 H
Set thisFeat = Part.FirstFeature
) c% r# L  Q+ w0 P9 yDo While Not thisFeat Is Nothing '遍历设计树# d0 ^8 g3 B0 H, A
If thisFeat.GetTypeName = "SolidBodyFolder" Then! N5 @6 C) W/ d
thisFeat.GetSpecificFeature2.UpdateCutList
% i* s/ |$ F3 f9 z% E% j. L# l' tEnd If
1 H9 w2 K$ V2 y+ w% G: h! g5 _Set thisSubFeat = thisFeat.GetFirstSubFeature$ B; W) \: @/ n; R; n
Do While Not thisSubFeat Is Nothing, _6 E( G! r" Y4 t2 [
If thisSubFeat.GetTypeName = "CutListFolder" Then '查找切割清单
$ R+ N0 e* E. W- d( BSet cutFolder = thisSubFeat.GetSpecificFeature2
& c2 i7 K( A: x/ tEnd If
/ j8 B0 ~/ W; pIf Not cutFolder Is Nothing Then
. b7 y* r% \4 W7 C( t$ ?4 XBodyCount = cutFolder.GetBodyCount
' H" m3 ^! U2 i7 T/ L$ m5 kIf BodyCount > 0 Then$ w. `8 K; \) z$ I/ H! ?# P% G  y
Set custPropMgr = thisSubFeat.CustomPropertyManager+ h3 ]4 V1 U9 w9 _
If Not custPropMgr Is Nothing Then
3 _$ y+ D4 u4 C' [6 V9 npropNames = custPropMgr.GetNames '获取切割清单属性的数据全部名称并放入数组
3 @& H: u6 C: eIf Not IsEmpty(propNames) Then  Y2 M7 `9 K! i
For Each vName In propNames
. [9 ^! ^2 z, B6 B( a% GpropName = vName
5 d4 y2 Z+ @+ U3 o3 x1 jcustPropMgr.Get2 propName, Value, resolvedValue '获取全部属性名称 ,数值和评估的值
  _; R. ?; j8 r6 f6 kIf propName = "边界框长度" Then bjkcd = resolvedValue '判断是否是自己所需要的数据,如果是就获取
2 K2 F( f( E& f- T9 T; gIf propName = "边界框宽度" Then bjkkd = resolvedValue7 v4 Z, H5 e2 b% c3 n. o4 K3 E
Next vName  {) F1 ~( u) k$ n
End If
. D7 T; X5 }3 {3 l  FEnd If
' Y6 J* G& Y' F" JEnd If
) g- ~+ f2 w! bEnd If4 @6 D) z) \# J
Set thisSubFeat = thisSubFeat.GetNextSubFeature9 s/ O/ w3 D! g6 H* j4 d+ A
Loop
' P: ]' U3 g) d2 `' N0 tSet thisFeat = thisFeat.GetNextFeature) W0 J) f* E- U; Y+ p$ |
Loop
3 }* }3 _# O$ }$ C'blnretval = Part.DeleteCustomInfo2("", "边界框长度") '删除属性栏上摘要信息的数据7 d/ P- `% N+ R3 ]
'blnretval = Part.DeleteCustomInfo2("", "边界框宽度"): |3 {% D: w. E2 W: O
blnretval = Part.AddCustomInfo3("", "开料长度", swCustomInfoText, bjkcd) '添加数据到摘要信息; m; R& I  e2 `
blnretval = Part.AddCustomInfo3("", "开料宽度", swCustomInfoText, bjkkd)$ G2 U# E$ W% o- q
' |9 m: p4 Z; |- M
End Sub
! u- L; T( Z" N& Z0 [6 @2 Q. Q! H- ?7 o

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2021-1-13 16:28:08 | 显示全部楼层
挺复杂啊,比较难用吧??
发表于 2021-1-13 17:17:50 | 显示全部楼层
这个是不是CAD转pdf的?佩服做软件二次开发的人。
发表于 2021-1-13 17:29:04 | 显示全部楼层
学习一下。
回复

使用道具 举报

 楼主| 发表于 2021-1-13 17:40:43 | 显示全部楼层
晓昀 发表于 2021-1-13 17:17
& t: T5 v. ^% w: k0 D  S这个是不是CAD转pdf的?佩服做软件二次开发的人。
' F1 g: R$ ?9 e6 m! ^$ s% J
cad转PDF,用cad的PDF打印机就行了,这个是sw转dwg,dxf,和pdf等格式的。
. X' [6 ^  G3 ~& Z4 I5 a4 D5 p

点评

大牛!  发表于 2021-1-13 18:01
发表于 2025-4-19 19:34:17 | 显示全部楼层
学习一下,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-7-15 05:03 , Processed in 0.082646 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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