找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5328|回复: 6

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

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

6 Y( Q. u! ?  h: G! o! K工程图转格式:# {& e5 ^$ `' j6 U
, \& Y) z4 A+ ^6 d0 ]3 w
; w0 B) \; o8 n% F3 K
Dim swApp As Object" F  I; x( u; e/ R* X0 C. \) z- \
Dim Part As Object
+ u5 K6 i3 _" k" q( l0 b* }1 tDim Filename As String
) W8 D/ U! ?9 c7 v  u# MDim No As Integer
8 \$ s: O- }) ~2 R( q. wDim Title As String          '以上设定变量+ J$ X5 J  r) V# @# H6 s( _
Sub main()
1 F5 z0 M, g3 e: U& R) XSet swApp = Application.SldWorks
/ w- D' `- Q( d/ vSet Part = swApp.ActiveDoc                                                  '以上交换数据
* A; R, R0 L0 d# iFilename = Part.GetPathName()                                               'Filename为文件名
+ M# H# r7 W/ Y% c4 LNo = Len(Filename)                                                          'no为工程图文件名字符串总数( ?  \" ]4 o) j7 r; b8 {
If No > 0 Then                                                              '当NO大于0时(转换格式名称是工程图名称,故要先保存工程图才可转换,工程图未保存无名称,无字符串,不可进行一下步)6 Q1 C) }) d: R' n1 i1 f7 o: K# u. h
Filename = Left(Filename, No - 7) + "." + Right(Filename, 1)                '字串符操作,no-7为去掉工程图后缀名,"."+ right(filename,1)为增加后缀名最后一个字母作为识别,用于区别客户来图,可不要
8 ?) Y6 q: {4 Y5 @1 YPart.SaveAs2 Filename & ".dwg", 0, True, False                              '输出需要转换的格式文件,已有文件则自动替换,不提示,(有些格式文件在打开状态中不可替换,替换不成功也不提示)
( h1 e! I6 m* a$ p9 |1 _Part.SaveAs2 Filename & ".pdf", 0, True, False
% z& O. R% m/ y' j7 [7 XEnd If
% @3 k: J) g9 e# L; o! iEnd Sub
" s3 |" ?/ g5 V. l6 I2 E1 F
& J0 m. A6 u1 F0 U* ?2 @5 z  P* U8 Y8 C3 M* O9 C: t; ?

8 ], ]. R% _+ M; U9 N属性改写宏:" t- s/ |. U  W3 ^; N- N
4 @2 g  [. ~( h5 O) O- a
$ P2 D+ D& u  b3 J: n7 D% B7 t

6 {' q  ?" I5 N& w! h. l5 u2 _Sub main()3 v6 w% W. d; b

9 Q$ X2 H; Q! u4 F/ KDim swApp As SldWorks.SldWorks# Q# q9 ^3 y/ |9 u! ~
Dim swModel2 As SldWorks.ModelDoc2, o5 e+ f; P7 m7 P" u, k3 l# Q
Dim SelMgr As SldWorks.SelectionMgr
4 a3 Q2 l+ K0 d$ b% t+ Y) _- QDim vCustInfoNameArr2 As Variant: Z$ ]' K& ^- z, c
Dim vCustInfoName2 As Variant
* T$ K' {  H. n$ L# u" P6 PDim CurCFGname As Variant
8 h1 k' d, U" f$ A" Z, ]Dim CurCFGnameCount As Integer
' q$ X; I! y6 f. E! @Dim Vnamearr As Variant# W- w) R) T  U/ r; \: I
Dim CusPropMgr As CustomPropertyManager5 Z" \: c' W- w: j/ q, I: `" r
Dim bRet As Boolean" _- d3 {6 K( ~
Dim Vnamearr2 As Variant9 O, U* Y3 P, {+ l$ [; {) G

' ~, [  O/ l6 b8 j. lDim strmat As String
" z$ c- ?: e- {2 ?8 JDim tempvalue As String, y2 }. q- f3 p5 X: B+ L

$ E* k6 ?0 y. i! @# b* u5 ~Set swApp = Application.SldWorks
+ F  `5 b" F) y* r( s6 qSet swModel2 = swApp.ActiveDoc6 q6 n5 ~) }5 l" p
Set SelMgr = swModel2.SelectionManager '
; Y. G5 [/ r+ _( k( A
! b" o+ c. Q& @; dDim tg1 As String8 c6 H' I8 |6 N5 a1 b% ^
Dim tg2 As String( l/ h8 o, S6 I" `: G
Dim tg3 As String
- I5 a% A2 @" N, TDim tg4 As String
1 i0 F. k- L' T  ]2 Y! x& e, fDim tg5 As String8 Y! }# H& ^5 \) ^- j9 `9 n
Dim tg6 As String
1 C- z9 Q% _6 mDim tg7 As String
* a6 u+ ?6 O0 E+ g+ ?3 r8 gDim tg8 As String. T2 N$ H2 t/ K1 G
Dim tg9 As String
/ Q; G1 ^( Y3 H* F: BDim tg10 As String
2 E9 {) Y5 G8 _* h. R" Y. |9 FDim tg11 As String
. [' Y% J5 A- K9 T) i# \" IDim wm As String/ j4 V+ \+ d: U$ Q3 \
Dim wm1 As Integer
& S% X. O7 p. K( }  V. wDim wm2 As String  F6 {' R; c: q% O# w! ~( t+ C) h! Y- d
Dim wm3 As String3 y* t3 l9 |( W, E
Dim wm4 As String' t+ \8 q" F, C5 l* I$ x
Dim wm5 As String% t9 Q/ Q4 i# D0 @
Dim wm6 As String
/ k. N, m+ f; |, h* A/ C7 b. {* ADim wm7 As Integer
1 D  H% Y5 B0 h4 ?Dim wm8 As String, z9 @: \3 S( ]% j+ T2 C
Dim wm9 As Integer% c  O0 ~7 _& L8 \' C
Dim lz As String$ X) _) t1 R7 q
Dim lz1 As Integer
, X5 l+ X- G. X- C( W+ X8 y( YDim lz2 As String
" B' q1 M3 c& Q" N% _Dim lz3 As String5 Z5 Q- m2 z8 R9 k# l" o
Dim lz4 As Integer
7 g2 V, x" S/ KDim lz5 As Integer- V2 a) \9 Z7 q5 B  {) M
Dim lz6 As String
8 |" I' K9 Z9 w/ J2 z* H/ aDim lz7 As Integer                                                                     '以上为设定变量
7 i: w- H* T5 M2 D7 A' f! z: A$ T( k' a/ }. L2 M" J& n5 q& L

7 M- w2 y+ Q4 q' w# hswApp.ActiveDoc.ActiveView.FrameState = 14 _% [4 N' }! }7 ?
vCustInfoNameArr2 = swModel2.GetCustomInfoNames( U3 R2 }! D6 _0 @' a$ }" V1 Y
  If Not IsEmpty(vCustInfoNameArr2) Then
2 X, X) o: E+ s- X2 J; u, u     For Each vCustInfoName2 In vCustInfoNameArr2
- S+ R7 g' M2 {8 i" P' Y         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
; W' m( x* b; \' H. a0 X9 [: l' E+ G      Next1 Z4 v; Y$ L- S- i3 S2 k
  End If                                                                               '此段是删除自定属性中的所有项和其项值7 |' D  H$ l5 V3 q( z3 Z6 |9 A
& S8 |: Y  x& U9 I4 q5 k5 B/ m

  L  y6 D4 V7 b+ c' d- bCurCFGname = swModel2.GetConfigurationNames
- a- P* m0 ?5 K  _$ d) nCurCFGnameCount = swModel2.GetConfigurationCount3 f6 c$ I( n: ]
For i = 0 To CurCFGnameCount - 1
3 L; l5 N1 m, n: y: `& y    Set CusPropMgr = swModel2.Extension.CustomPropertyManager(CurCFGname(i))
6 @1 {1 U% i8 u5 A9 |; T    Vnamearr = CusPropMgr.GetNames+ t) F# n# A8 I* U7 P2 n  M
    If Not IsEmpty(Vnamearr) Then
% |% [* K9 A6 L+ b1 a$ C  G" i        For Each Vnamearr2 In Vnamearr
) Y* V8 N( }7 [$ H! Q4 w" q            bRet = swModel2.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)9 @4 T% A) o# s5 X' ~
        Next
5 [; k7 ~, G' Y/ {/ e9 k1 {    End If0 p4 J7 A  ^. ^9 L6 J7 `
    Next                                                                               '此断是删除其他配置中的属性所有项和其项值
: G3 O$ n0 \/ Q2 F8 t% M$ b( H
% _+ @) U. A+ s4 T, `+ D; {
1 n( e4 R$ d' C9 Z( O, O4 P3 cwm = swApp.ActiveDoc.GetTitle()                                                         '定义是文件名  W% U  H) z2 ^8 \
lz = swApp.ActiveDoc.GetPathName()                                                      '定义为文件路径2 \. q' [! ~* _1 r: g* E
tg6 = Chr(34) + Trim("SW-Material" + "@") + wm + Chr(34)                                '定义材料属性, b6 W4 Y- c% p# L8 f
tg7 = Chr(34) + Trim("厚度" + "@") + wm + Chr(34)                                       '定义钣金厚度属性
7 m; E1 R, y) t/ t+ Ftg8 = Chr(34) + Trim("SW-Mass" + "@") + wm + Chr(34) + "kg"                             '定义质量属性
- g; N8 O8 }+ S. A+ u; J- S6 }tg9 = Chr(34) + Trim("SW-SurfaceArea" + "@") + wm + Chr(34) + "㎡"                      '定义表面积属性, h, o( N! z1 h% Y6 D+ L. \5 l
bRet = swModel2.DeleteCustomInfo2("", "图号"): o) o" T  M3 m! I( x- h
bRet = swModel2.DeleteCustomInfo2("", "Description")+ l$ I) Q( d) @7 A4 b
/ n! e0 s6 A1 d. J) Y2 M

/ ^3 |8 [0 r' L' S- j" H6 w  }wm1 = InStrRev(wm, " ") - 1                                                              '引号内为空格,为图名分离符号        '从右向左搜索到第一个" "符号为第几个字串符
& w5 C( _1 C  @! Q9 H( n! ?$ VIf wm1 > 0 Then                                                                          '当mw1大于0量时
3 d' g, y* q8 {5 Q0 c, ~7 y    wm2 = Left(wm, wm1)                                                                  'wm2等于从wm的左侧开始提取mw1个字符9 M+ A% C6 i- {" l! O( C
    wm3 = Left(LTrim(wm), 3)                                                             'wm等于wm去除左侧无效字符的左前三个字符
( d( q% U, o( j8 t: o, y    If wm3 = "GBT" Then                                                                  '当wm3等于"GBT"时
  F0 v, P5 O$ j        wm4 = "GB/T" + Mid(wm2, 4)                                                       'wm4等于"GB/T"和wm2的第4个和后面的所有字符              '当零件是国标时添加国标号,文件名中/是非法字符
7 Y& b- a: Y# b, U' g- m8 u- L    Else
$ P5 m3 s! Y& r" i# y. ]5 X        wm4 = wm2                                                                         '否则wm4等wm2           '空格前面是图号+ A2 Y# \4 O% O! h) m% Y
    End If7 O5 p# R( p* [

! T* m9 U& ]2 ~  ^$ k    wm5 = Mid(wm, wm1 + 2)                                                                'wm5等于wm中的第wm1+2个后面的所有字符
7 U) o  _- I. _! S5 p7 o) u8 O    wm6 = Right(wm, 7)                                                                    'wm6等于wm最后面的7个字符$ U! w9 |6 l( T# e& g* f
    If wm6 = ".SLDPRT" Or wm6 = ".SLDASM" Or wm6 = ".sldprt" Or wm6 = ".sldasm" Then      '当wm6等于这4个值时6 E' q' H8 n# L/ r  R! q$ F
        wm7 = Len(wm5) - 7                                                                'wm7等于wm5的所有字符数-7
5 t" \4 e; m9 ]" t. W6 H5 I0 b% h    Else) r, {  q) W# X- j! f6 Q2 P
        wm7 = Len(wm5)                                                                    '否则wm7等于wm5的所有字符数
9 D* _4 _7 J& Y9 u7 D' R3 v    End If8 b) G5 Z8 K% s% {; E, T  R8 w: A
    tg5 = Left(wm5, wm7)                                                                  'tg5等于wm5左侧的wm7个字符          ,空格后面是名称,有后缀名并去掉后缀名,无后缀后(文件未保存时)直接上档
# u* ?4 i/ k- ^( p$ K% K8 X
! E9 l/ e) u0 wEnd If                                                                                                                       '此段为图名分离定义
7 }( j4 B1 p; Q3 j+ E) w2 E: [3 m6 y% j  J7 W+ M

9 w  A2 O$ W, ~; u! NIf wm1 > 0 Then                                                                           '当wm1大于0时
- ~1 u( d& a- M/ e5 P0 I7 i) ^& m' Ntg4 = wm4                                                                                 'tg4等于wm4              '文件名有空格时,图号为分离出来图号
; h7 j2 v. U* \: I. KElse) t- P" F* f3 B( f7 P
    wm8 = Right(wm, 7)                                                                    'wm8等于wm最后面的7个字符
4 {6 A; ~. H* K' t4 Y3 o5 j1 A: x    If wm8 = ".SLDPRT" Or wm8 = ".SLDASM" Or wm8 = ".sldprt" Or wm8 = ".sldasm" Then      '当wm8等于这4个值时9 C+ S. B7 M% b. w# F6 g
        wm9 = Len(wm) - 7                                                                 'wm9等于wm的所有字符数-7
# Y( E. O: }$ b+ l" z    Else2 W' F0 h5 x1 v$ l
        wm9 = Len(wm)4 P2 x" _, B6 k- e0 ?
    End If                                                                                '否则wm9等于wm所有字符数-7" a0 V" d1 R/ q+ D' k
tg4 = Left(wm, wm9)                                                                       'tg4等于wm左侧的wm9个字符    '文件无空格时,文件名即是图号,并去掉后缀名,无后缀名(文件未保存时)直接上档
5 ^; ~  y/ \2 P7 O2 C+ N8 XEnd If                                                                                                                        '此段为非图号名称命名文件,将文件名加到图号属性6 f3 n( q9 A" e$ d2 S/ _
'例,fgq01-001 前门板:分离后图号(fgq-001),名称(前门板)
# X" |& V: H/ e" ^: S- X5 v'例,fgq01-001 前 门板:分离后图号(fgq-001 前),名称(门板)' N  [( E& N$ c8 [7 {
'例,fgq01-001-前门板:分离后图号(fgq-001-前门板),名称为空
$ v1 u3 Y8 \( [  g( Q+ Z'以最后一个空格为准分离
; M; q. h* `# P  `3 m* S  m; i) I: x. K# b5 V

7 b0 h% {! B. z  N& h# Ylz1 = InStrRev(lz, "--")                                                                 'lz1为lz由后向前搜索到第一个"--"字符在第几个0 A9 D  ~3 c) H7 a
If lz1 > 0 Then                                                                          '当lz1大于0时
7 f& X! z5 K# E1 \' Ylz2 = Mid(lz, lz1 - 8, 8)                                                                'lz2等于lz的第lz1-8个和其后面8个字符
. U- w6 [( D( |& N% vlz3 = Mid(lz, lz1 + 2)                                                                   'lz3等于lz的第lz2+2个后其后面所有字符# W5 l3 [/ r! a
lz4 = InStrRev(lz2, "\")                                                                 'lz4为lz2由后向前搜索到第一个"\"字符在第几个
5 n. h7 v# K1 [3 n; flz5 = InStr(lz3, "\")                                                                    'lz5为lz2由前向后搜索到第一个"\"字符在第几个
; V3 H" c* G' X2 f* ktg1 = Mid(lz2, lz4 + 1)                                                                  'tg1等于lz2的第lz4+1个后面的所有字符) B8 ?5 k2 M3 T7 l- w
'tg1 = Right(lz2, 8 - lz4)                                                               'tg1等于lz2右侧的8-lz4个字符(lz2总字符为8个)" c0 [# \5 e2 H+ Z# ?
tg2 = Left(lz3, lz5 - 1)                                                                 'tg2等于lz3左侧的lz5-1个字符
- Y; C! r, t2 R6 G1 G* \% g9 J$ ]5 j9 j
lz6 = Mid(lz3, lz5 + 1)                                                                  'lz6等于lz3第lz5+1个后面的所有字符
: F7 ?1 s6 z. H% A& ?* [0 [lz7 = InStr(lz6, "\")                                                                    'lz7为lz6由左向右搜索出第一个"\"字符在第几个
" _0 P6 I! c" vIf lz7 > 0 Then                                                                          '当lz7大于0时
9 D) w1 o8 l* l& qtg3 = Left(lz6, lz7 - 1)                                                                 'tg3等于lz6左侧的lz7-1个字符
) L5 S1 D0 C' ~- ~* i9 e3 ZEnd If, X2 i9 _  `) X. q; _
End If                                                                                    '此段为文件路径提取项目号9 a% R: ~* ]9 S; D0 D7 o
'例,零件文件完整路径为:E:\工作文档\B-非标产品\非标--F类\FGQ--定制角架\2020版\前门板.SLDPRT
8 p' l$ j1 u9 E1 h* K'由后向前搜索“--”,第一个“--”向前到“\”间为产品编号(FGQ),向后到“\”间为产品名称(定制角架),向后的第一个“\”和第二个间“\”,为版本号(2020版)。
+ d4 w& n3 \* a% }! E1 X0 e, z: ?9 [, Z: k5 ^

: `2 R/ v0 a% Q8 J4 ~) A/ u0 e; E
# K: C0 {# ?1 B" E; y: qbRet = swModel2.AddCustomInfo3("", "产品编号", swCustomInfoText, tg1)" Z$ A0 N& l' c
bRet = swModel2.AddCustomInfo3("", "产品名称", swCustomInfoText, tg2)
0 a  j1 E) k  D8 v# q5 ibRet = swModel2.AddCustomInfo3("", "版本号", swCustomInfoText, tg3)
5 i, n3 E4 ~( P% S+ e' W9 ZbRet = swModel2.AddCustomInfo3("", "图号", swCustomInfoText, tg4)+ M6 s8 y, ?0 }) l
bRet = swModel2.AddCustomInfo3("", "Description", swCustomInfoText, tg5)1 [# S7 r/ V( C! W
bRet = swModel2.AddCustomInfo3("", "数量", swCustomInfoText, "1")
  C' b4 i  ^; {+ B. ]bRet = swModel2.AddCustomInfo3("", "备注1", swCustomInfoText, " ")% P# e% S1 k6 k5 {, r" `
bRet = swModel2.AddCustomInfo3("", "备注2", swCustomInfoText, " ")9 ?; i7 k( }$ K4 Y
bRet = swModel2.AddCustomInfo3("", "备注3", swCustomInfoText, " ")  ?& }7 Q5 l9 [
bRet = swModel2.AddCustomInfo3("", "Material", swCustomInfoText, tg6)
0 N/ R2 e7 I! U$ C. a& B. y" cbRet = swModel2.AddCustomInfo3("", "SH", swCustomInfoText, tg7)
& ~# N8 q5 P' m1 XbRet = swModel2.AddCustomInfo3("", "重量", swCustomInfoText, tg8)4 {' k) r; K; v$ l+ N9 X  V/ @4 w% o3 k
bRet = swModel2.AddCustomInfo3("", "表面积", swCustomInfoText, tg9)                         '此段为填写自定义属性项与其值+ \7 ~7 O  c: E
4 d7 K5 H% C( J" q  n
Dim thisFeat As SldWorks.Feature                                                         '另外增加一段宏,取读取切割清单数据,并添加到属性项。6 G8 k2 S* i3 D. |. `$ [% D3 l% r
Dim thisSubFeat As SldWorks.Feature
8 b! [1 c0 s* c  E5 ADim cutFolder As Object3 m% Z" ^. M- Q8 J2 J
Dim BodyCount As Integer1 u. ?# w) C' h9 B; Z
Dim custPropMgr As SldWorks.CustomPropertyManager" y' Z9 n% i, K
Dim propNames As Variant3 {1 i3 y+ W  Z; w
Dim vName As Variant% |" y5 V6 w0 _
Dim propName As String
: v" F' h( z" D% NDim Value As String
7 C$ R0 G9 x  p( K: p8 U$ |Dim resolvedValue As String
+ z" E. Y* u- ^0 G* d) u) ODim bjkcd As Double$ X: O; F$ w- H: K
Dim bjkkd As Double8 e8 ^) f2 R6 b
'Sub main()- k# N" z$ N& d' _' D6 O% f- S7 t
'Set swApp = Application.SldWorks5 w9 [9 T# }, }7 x
Set Part = swApp.ActiveDoc$ O" f/ g5 y1 ^" u# {) M
Set thisFeat = Part.FirstFeature
4 c! l: R5 a% N1 m" v$ oDo While Not thisFeat Is Nothing '遍历设计树# R, k) _% g5 l
If thisFeat.GetTypeName = "SolidBodyFolder" Then
* Z, k8 }0 ]" ^! a) X% y" |thisFeat.GetSpecificFeature2.UpdateCutList
2 d& V$ Y/ F" J  `End If
% ^" }4 z' K" |" T$ rSet thisSubFeat = thisFeat.GetFirstSubFeature
  k: y# C, A* \+ SDo While Not thisSubFeat Is Nothing, G8 }/ `0 s$ a7 U( U
If thisSubFeat.GetTypeName = "CutListFolder" Then '查找切割清单1 V2 ?5 x/ Y$ j6 c  ], X7 B3 O0 `
Set cutFolder = thisSubFeat.GetSpecificFeature27 N/ @7 D+ M% \
End If
/ \& ~" c( ]+ q- O4 W4 fIf Not cutFolder Is Nothing Then$ J- i  ?3 V8 J: g/ A3 _
BodyCount = cutFolder.GetBodyCount
' K2 p+ g- A/ F. `) gIf BodyCount > 0 Then4 l9 l8 M7 X0 ~; Y1 G! C% v2 S& J
Set custPropMgr = thisSubFeat.CustomPropertyManager& h; D: `8 k7 r- n0 H
If Not custPropMgr Is Nothing Then0 Q3 q8 q. F: J. G2 s
propNames = custPropMgr.GetNames '获取切割清单属性的数据全部名称并放入数组
& E% }3 A- g3 W" wIf Not IsEmpty(propNames) Then; r2 `5 w' o2 W5 `6 s
For Each vName In propNames
1 {" D) w# y" q& k8 L/ W' zpropName = vName
- ?9 ^! u$ C7 n% H$ U' d! ]custPropMgr.Get2 propName, Value, resolvedValue '获取全部属性名称 ,数值和评估的值2 D% Z( }( h, S9 `3 U9 E( v8 F
If propName = "边界框长度" Then bjkcd = resolvedValue '判断是否是自己所需要的数据,如果是就获取. F2 Y* p1 }, S/ s* S  @
If propName = "边界框宽度" Then bjkkd = resolvedValue
3 V  D7 ]5 C7 {* nNext vName
6 Z- ~  a' Z/ ^. SEnd If/ j# n4 S# S, |, b  r% W+ R' S
End If
( s1 q  Y2 m- v" x" TEnd If
! X3 F: Z' h* H2 v  j' fEnd If
4 e2 _1 d' c2 t' g3 `  V. @! FSet thisSubFeat = thisSubFeat.GetNextSubFeature5 y  {2 l/ w9 a% y
Loop- t2 \& F" b' h  V/ e
Set thisFeat = thisFeat.GetNextFeature
4 ?/ D; [) c# |0 WLoop3 Y# L. ]% ?) q9 n
'blnretval = Part.DeleteCustomInfo2("", "边界框长度") '删除属性栏上摘要信息的数据
$ G! ?+ g1 o- K/ t) t" {4 Q4 `: F'blnretval = Part.DeleteCustomInfo2("", "边界框宽度")
9 b5 e$ B* A! C4 Ablnretval = Part.AddCustomInfo3("", "开料长度", swCustomInfoText, bjkcd) '添加数据到摘要信息
" |, A/ X* u' l- d. g9 _1 Tblnretval = Part.AddCustomInfo3("", "开料宽度", swCustomInfoText, bjkkd)5 ?1 m0 Q: X1 ]( J

  l& X1 y4 E, n" U8 D/ }. qEnd Sub: H* x0 h+ H6 v4 E5 ]; d4 s

6 {% r0 Q5 z4 h: d* Y

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 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; q' b+ O! A  G# r# f; q: f
这个是不是CAD转pdf的?佩服做软件二次开发的人。

, V  l  Y- Y3 f7 R, hcad转PDF,用cad的PDF打印机就行了,这个是sw转dwg,dxf,和pdf等格式的。' \+ {" |7 q7 p" X

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 16:05 , Processed in 0.069321 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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