机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5025 | 回复: 11
打印 上一主题 下一主题

SolidWorks 二次开发 求助

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-10 22:28:36 | 只看该作者 回帖奖励 | 倒序浏览 | 阅读模式
请问有没有哪位大哥大姐对用c++对SolidWorks进行二次开发比较熟悉的,比如下面这个轮毂怎么用C++程序画出来" ~8 g/ s. j. \; B T! K
这是轮毂源文件
- y/ d+ g/ |/ {各位大哥大姐如有其他三维建模程序的,能不能传给小弟我学习学习,感激不尽了!小弟这边也有些机械方面的资料可以和大家共享。
, B% v" I- k% I$ @下面是小弟编的一个程序,新建文件——创建圆柱。
1 ~" w5 |$ ^( d4 x+ u/* NOTE: You will need to add the -GX flag to your Project Options in Project->Settings->C/C++*/
! W3 y T) S1 k' O! N// swobj.cpp : Implementation of Cswobj3 m9 m4 V# Z3 Y% \$ Z
#include "stdafx.h"
; X* O# Z8 b$ b4 t8 }- M1 K+ c% V#include "111.h": o3 c8 M- ]# v
#include "swobj.h"
- f1 M% L+ g7 d; Q, N
/ h; }; Q; y t! U/////////////////////////////////////////////////////////////////////////////
$ _4 z- O/ p+ e) I7 h# w// Cswobj
2 Z" N1 L# \. ~* ]! x4 C. d% C$ g: ~( E( F" {4 f5 L- b3 A) C
void Cswobj::AddUserInterface()) ]! Y3 O$ o2 P2 B& g- j
{' x+ n6 n3 D4 p. J
AddToolbar();6 | t1 d% @# e
AddMenus();
* u/ @. b+ G; q5 P}; S; g9 S$ b4 f: M4 _5 u
* g- ?8 O0 E# m+ U9 j& b
void Cswobj::RemoveUserInterface()" q8 `# b2 `8 b* y: X
{/ a8 i" m; A& J
RemoveMenus();/ D# |5 ?7 G, R- O; q6 j: ^$ i. \
RemoveToolbar();! m, w) d n( B( W+ i6 h
}
, R. ]) j) r! e5 R# c- Z& r& k+ {& B3 R& V+ E+ x& X
void Cswobj::AddMenus()
% ]& e+ @6 X* L{, o( D7 i/ T, D2 E: m0 F, `
long retval = 0;1 q% J' _9 n( F
VARIANT_BOOL ok;Z% b# s6 k$ z; ]
long type;
2 q- `3 N) O' p! z; b; Slong position;, n5 L5 N3 J1 b o! i
CComBSTR menu;/ D7 Y# v7 e( e& Y1 X
CComBSTR method;& e n" ?5 Q/ c: x o" A
CComBSTR update;
/ k c. c% S( |9 gCComBSTR hint;* O0 h$ @* b7 U$ I0 V
$ X; E, Y1 _$ }# P
// Add menu for main frame
% r9 q' u7 C, b2 }- Otype = swDocNONE;" c- o# M' y z; V4 ^3 @' O$ t
position = 3;
' B3 y( i+ y$ V0 _- u0 ^! {menu.LoadString(IDS_MY1_MENU);% L4 U) u, @6 ]' W
m_iSldWorks->AddMenu(type, menu, position, &retval);
T0 ?. X" m7 I9 _6 P+ g1 j
* c6 j. [8 L% R- z4 jposition = -1;& N+ `6 z" v8 m1 ]
menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
! p5 a& i+ L9 T1 L7 L1 Emethod.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
/ k# H- j) z! W1 b3 ?hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);b% S+ ?% a' F7 a4 M( w
m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);, d; O& w2 ^9 m9 b
& ?4 b' ~# ]+ E" w1 x
position = -1; //wb
* y; t; o& j. |6 j& U5 a7 q" Wmenu.LoadString(IDS_111_ITEM);1 U: C7 E5 i% J
method.LoadString(IDS_111_METHOD);( e8 s2 t' ]8 F) i, e
hint.LoadString(IDS_111_HINT);
: A6 J% u, c4 p' am_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);~7 `; d' t0 F2 B+ P
1 C4 D* V' O5 m& P3 ^6 l. y. ?8 L+ Q
// Add menu for part frame1 z, i6 \# G# ~
type = swDocPART;) H3 [8 Q1 Z' K& ?6 h) I
position = 5;9 a) E, ~, v" I# d0 X( E
menu.LoadString(IDS_MY1_MENU);, V- n& ]0 ~' F$ C: m
m_iSldWorks->AddMenu(type, menu, position, &retval);
; k- u% [3 N/ ]' H; ~* A& L2 K; V+ b- ]
|: \/ d- |. |7 L- p* d5 Pposition = -1; //wb
; G v6 J$ Y) k' lmenu.LoadString(IDS_111_ITEM);
/ K V! E8 g, t3 J4 k& }/ Amethod.LoadString(IDS_111_METHOD);( `4 b6 t! x1 N- d; O, Y" k+ d
hint.LoadString(IDS_111_HINT);: n9 H& U2 t/ W9 s& ]7 _+ }
m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);. i5 t: G" p8 Q% e I: W

' s) _ i, S$ V+ Uposition = -1; //wb
4 p' c/ F- t2 o7 s! ^- z# b( Imenu.LoadString(IDS_111_ITEM2);
# x+ j# o& T% fmethod.LoadString(IDS_111_METHOD2);: n" t) Y5 K r0 j5 [8 ^6 a
hint.LoadString(IDS_111_HINT2);; |) T3 w. S+ k
m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);: r: R* F/ p( y9 i
- W9 m7 B, ]" R) H' l8 J% i* X- R0 k2 I, K
position = -1;
3 [9 y9 a5 W4 x8 W: c; `menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);9 D3 J- e* ~! t# S, Z
method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);, y2 {* o$ [3 s/ a& Z+ s
hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);: ~9 |# j9 t/ K, _ | `
m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
. L% S9 _ d2 O& [
! p5 o, g& P, m' Q% N// Add menu for assembly frame% c$ h0 c3 o- E* G
type = swDocASSEMBLY;
+ b# A4 q( Q" N7 ?" }5 f- Mposition = 5;5 F5 n' s' p* r. C* o& q! q! g
menu.LoadString(IDS_MY1_MENU);' s- D4 C! Z! z
m_iSldWorks->AddMenu(type, menu, position, &retval);
9 K- z" S' a- h3 X# h8 O/ `; V; W3 X) z! S8 @; g$ T% R: u% L
position = -1;* t; D: F/ ~, V0 N8 \
menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);9 t" l* O/ [" |& ?
method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);3 f8 C% C# W7 G: K2 |2 }9 s, T
hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
7 Z8 f \, Y/ Pm_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);# ?4 h# o9 o3 d/ y# s. d9 U+ Z

( ?# [' P9 `& i6 R3 W4 j. D: h// Add menu for drawing frame
0 u3 R% a: y+ l+ Q4 \2 E$ mtype = swDocDRAWING;T, R& @: T, ?( q- l7 a
position = 5;
& E9 q) L6 }( n9 t; A" ]) {menu.LoadString(IDS_MY1_MENU);, S) `. t6 S D5 b7 f4 d% h0 x1 S$ I
m_iSldWorks->AddMenu(type, menu, position, &retval);
, W2 f. V7 r2 a7 Z/ I$ I$ i% Hposition = -1;8 b* C! J# Z2 @9 a4 P' f* U V$ Z4 t- m
menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
: m- c$ F+ a i( kmethod.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
" y4 F# Y4 U1 P" nhint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
* o$ l/ m+ P+ ]& e% |m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
0 h! L2 o$ \; |7 _3 H) J: |6 g2 n5 O6 V) M- i
}
( J# _* M9 n7 V+ e6 N
( Y) O" L W# Z3 g! C, l7 ~void Cswobj::RemoveMenus()
' N- [* a5 x7 p( r+ c. O( q9 i{2 J' O" T, L5 {8 n" N2 w6 L2 b
VARIANT_BOOL ok;
E, j$ X9 Z* p; RCComBSTR menu;
2 ?; l9 F& l3 q. L4 r+ S( ^" M( d4 t _. D" s2 W, Z) Y& [$ A% x
menu.LoadString(IDS_MY1_MENU);
- j! T- Y. m/ n/ Q+ K3 ]m_iSldWorks->RemoveMenu(swDocNONE, menu, NULL, &ok);
- ]0 K* \ w% {! M: y. V& f5 S ym_iSldWorks->RemoveMenu(swDocPART, menu, NULL, &ok);
2 b7 I" \' s0 z8 f+ am_iSldWorks->RemoveMenu(swDocASSEMBLY, menu, NULL, &ok);9 ]- T% ?5 K! Q: y N C4 W
m_iSldWorks->RemoveMenu(swDocDRAWING, menu, NULL, &ok);
0 E& Z3 [/ h0 V' g}
4 o3 w7 I, N- U; j5 |$ y
: V1 d4 ?& T$ i" \' Q/ pvoid Cswobj::AddToolbar()
' ^& D' e# k; [& @ {! d) U [{& H0 U: l; c4 H' E' j8 q* I' e" ^0 W) P
VARIANT_BOOL stat = VARIANT_FALSE;
; ^! z/ _4 X% _7 B- ~ x- p8 H+ wVARIANT_BOOL ok;
I' W$ }) l" ]) SHRESULT hres;
" W+ y( p# F! W' A2 G1 e! g$ V" n$ x5 G+ ^1 E/ q
CComBSTR title;- w4 _8 N# H- q1 k- E
CComBSTR callback;
! L, `/ Q _- P1 ZCComBSTR update;9 u3 Q9 N% m2 S+ C; S+ m; t
CComBSTR tip;
6 E1 E) j) H; r" z7 e' \. ^CComBSTR hint;
1 i! V7 c! v( k, X4 R: V8 Y. z4 xif (m_lToolbarID == 0)
4 i6 x' j/ n2 z; p{, z" j2 B* p! ^6 l& l7 U
title.LoadString(IDS_MY1_TOOLBAR_TITLE);% J7 @3 D( a' Q
callback.LoadString(IDS_MY1_TOOLBAR_CALLBACK);; [6 i+ J% s1 W2 O- V3 W
update.LoadString(IDS_MY1_TOOLBAR_UPDATE);
& H/ L5 p0 X# N: c Htip.LoadString(IDS_MY1_TOOLBAR_TIP);
q: v" P9 B8 ^# F/ |) e2 y- Xhint.LoadString(IDS_MY1_TOOLBAR_HINT);! Z y" i, ~" D) x3 X

! v* D! g* ?: P3 }8 Chres = m_iSldWorks->AddToolbar3(m_swCookie, title, IDR_TOOLBAR_SMALL, IDR_TOOLBAR_LARGE, -1,! S' p+ h' e) l$ V Y& d1 r
swDocTemplateTypeNONE|swDocTemplateTypePART|swDocTemplateTypeASSEMBLY|swDocTemplateTypeDRAWING, &m_lToolbarID);
- w) \8 y0 l4 U6 D$ Y) r# V& ^! A+ |- u% ~' M8 ^! ]+ F
m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 0, callback, update, tip, hint, &ok);& {" e! S, n! h4 V
m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 1, callback, update, tip, hint, &ok);: p! t+ G0 ?) S' W
m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 2, callback, update, tip, hint, &ok);
# k4 B P; V* w L, Y/ E8 C# ]2 m" y4 w2 z( d; s7 Q
}
" x B2 H% |3 d% ^( J- h}
5 k) L8 k8 X9 t. ?- i- Q9 E/ Z/ S4 v9 P2 o& C1 [
void Cswobj::RemoveToolbar()
* b. I7 ]. G; h3 _. g% D# A* S- t{! L% t$ a; } H' e* w
if (m_lToolbarID != 0): i M, x2 H$ t7 D ]# c3 C- @
{
5 _' W* ]- W9 G) M" X5 ZVARIANT_BOOL stat;$ D% m" v4 l8 S& L4 V" S

/ A4 u7 _: n# l6 e) I- UHRESULT hres = m_iSldWorks->RemoveToolbar2( m_swCookie, m_lToolbarID, &stat);
: ~- W) B2 U' C7 }% t9 p2 s8 E* v; \m_lToolbarID = 0;& E& x! }0 ?. h' ^0 A% C
}
5 W4 V# b" K& B) H/ t}( T0 H6 w% ]! j, \1 }" Q' [* H& w6 ~

% E( X! h* z0 {& w5 n, X4 ^; o1 d; i4 N# F! n# w2 R& F
/////////////////////////////////////////////////////////////////////////////& v3 ^( B+ J6 @% u, E/ y) R
// ISwAddin implementation6 B8 A$ l+ Q( x. v, ?% O

: F. Q* |9 @: P+ L# U1 zSTDMETHODIMP Cswobj::ConnectToSW(IDispatch * ThisSW, LONG Cookie, VARIANT_BOOL * IsConnected), ` z X1 S& K$ A
{& }) o) S$ Y1 W0 X/ {. p
VARIANT_BOOL status;
4 a/ m0 o/ T h# @: ]" ]1 ]2 _( G) c- Q, T
if (IsConnected == NULL)# [0 N& k* i! U2 H" k3 ]& c" c
return E_POINTER;
& r& K0 W" p A- n+ f0 L6 P/ v1 e. Z& y3 i

8 u$ x0 y: _9 Bm_swCookie = Cookie;6 p( u; R6 s3 U; U! j1 g
m_iSldWorks = CComQIPtr(ThisSW);
' W: @; [1 n2 Q }if (m_iSldWorks != NULL)( d ]' ?" G1 H; U
{4 S6 x* ]. w$ t- a8 F+ q: a3 T, F3 \
m_iSldWorks->SetAddinCallbackInfo((long)_Module.GetModuleInstance(), static_cast(this), m_swCookie, &status);/ H$ f5 I" G5 V8 Q9 p+ c0 w. k
AddUserInterface();* {0 f3 V2 F$ \, ] m, p
}6 }6 R' @1 X9 e' z- c

7 s+ @# `/ h' e8 y3 xreturn S_OK;
7 F& R0 G( L1 G1 E5 s6 n7 v}
! |% k+ a, x/ y- g8 D h! @+ I! @0 S' R ?, w0 A5 z, V
STDMETHODIMP Cswobj:isconnectFromSW(VARIANT_BOOL * IsDisconnected)
4 h; f4 h1 |0 w: N{% o, V3 D4 Z7 t8 k4 H
if (IsDisconnected == NULL)
5 s3 t/ l) W$ v4 x0 c+ Creturn E_POINTER;- ?$ g7 |* R# a C1 L

/ _" ^ A4 ~, }if (m_iSldWorks != NULL)Z# e$ Y8 i8 V# P7 h. m
{
! B( p& h) V6 I6 B; h% `RemoveUserInterface();
1 V2 T- X' C- \m_iSldWorks.Release();
9 H% k- j8 O, W1 x/ _: J. A: M}
& n* Y% f" I+ D% Y% l$ y% [6 C4 f* p- L+ T- U
return E_NOTIMPL;
5 N, `' E" Q) x8 k, J# L}Y3 \) M8 u' a# e
0 M; k/ s3 M2 U8 o) i; U$ R) q

" _% c% ?2 E/ e/////////////////////////////////////////////////////////////////////////////& v0 I! d+ S! e- _* a2 d
// DSldWorksEvents implementation
, [" S% x; k4 U) w5 g" X# E" w
: Q/ [ n N' }8 F6 I+ \4 U4 D
& f/ ?1 u5 i, m4 {$ n5 W/////////////////////////////////////////////////////////////////////////////! s) j6 u' o) l# M3 I) j# H
// Iswobj implementation) y2 i$ \; s* U4 s, n" T) Y3 L

* Z; [8 E1 U6 q9 p- [6 [STDMETHODIMP Cswobj::StartNotepad()) |+ Z% o4 B% _, Y% r
{
' g6 C' m1 n3 R+ ?: e// TODO: Add your implementation code here
( s" r8 u* X) T1 K' t) H::WinExec("Notepad.exe", SW_SHOW);
* T4 R1 y& S# K' [5 u
2 e8 t {1 P" O* u8 }* ?, Ereturn S_OK;1 r: C' w8 Z: V1 p+ `
}
( S' }: N A+ r- t
8 y c, B( m# ASTDMETHODIMP Cswobj::ToolbarUpdate(long *status)
4 W+ C$ u, z" o{- l: V1 ? M8 Y1 o
HRESULT retval = S_OK;
0 s9 c; ]2 d) ^1 i0 s6 l
9 j9 ^3 i: B' [& ^+ W. k5 N! b*status = 1;- ]! C& {7 }/ r3 x% ^
) ~) C! F6 i8 C; Q
return S_OK;
4 V: Q& c" L* {# p% K* y. d}
5 |, U) ` A" e7 ^8 |6 A/ |. z3 q9 u) S7 E
STDMETHODIMP Cswobj::first()//新建文件
& |4 \3 d; m+ N{: {1 A: A8 q/ y# Y( G0 _
AFX_MANAGE_STATE(AfxGetStaticModuleState())
( E5 E* n+ B! ~$ ]' }* w- |$ |9 A3 N# P
// TODO: Add your implementation code here
, a+ N9 [: P% C! vHRESULT retval;% u" H0 Z' a; x7 N. z1 K$ q! ?
+ N* ^2 i( R6 V+ r: W" Y" Z! }4 h
CComPtrpPartDoc = NULL;
4 i, D- Z: {3 A' R) S4 Uretval = m_iSldWorks->NewPart((IDispatch**)&pPartDoc);( E0 d0 w, L4 R p: n
if(pPartDoc == NULL)
, t; F# M4 H! W0 W/ j{( p- y$ R. }* s5 y! r: R5 ^" {7 h; b
AfxMessageBox(_T("新建零件文件失败"));2 z1 W% k. ^1 c
return S_FALSE;0 y Q& ^9 B* z. t8 P5 D
}) c" k4 D" D$ L9 T! _, M
return S_OK;! R2 E9 A9 d8 z. ]* }0 g/ j7 P
}7 D; \. h0 D( F1 y1 W1 }5 I

# `, g O3 K. |STDMETHODIMP Cswobj::second()//创建圆柱
; {: f! T1 E4 m$ M- ^{
$ C1 a3 J8 i( n1 o( V, kAFX_MANAGE_STATE(AfxGetStaticModuleState()): W$ o: ]& d9 g. v/ X( f! }

6 {' a u% `" q* W+ ~! B// TODO: Add your implementation code here
8 [$ x, D7 j G4 A2 nVARIANT_BOOL bRetval = VARIANT_FALSE;* \0 a( a5 s# ^9 [2 j

3 m# M: n5 V: t2 jCComPtr swDoc;//定义ModelDoc对象) g! e$ l/ Z: g
CComPtr swDocExt;//定义ModelDocExtension对象2 B; J/ p9 E; U, r; A( Z
CComPtr swFeatMgr;//定义FeatureManager对象" a0 H! p# ^$ J& R% f* c7 ?1 g
. n: `9 g: {: y( l
m_iSldWorks->get_IActiveDoc2(&swDoc);///获得当前活动文档对象
M: L* H" U% e# XswDoc->get_Extension(&swDocExt);///获得当前ModelDocExtension对象" r* m1 [- C: F5 r2 I$ z
swDoc->get_FeatureManager(&swFeatMgr);///获得当前特征管理器对象- t, S) R( `/ I" i

1 a4 V. l! G: LCComPtr swSketch;//定义Sketch对象
& \* L+ b$ @2 a) v) v: ^swDoc->IGetActiveSketch2(&swSketch);///获得当前激活的草图对象
# n& A6 s& n C' z
; L5 o L6 r! _: i" q5 uif (swSketch == NULL)///如果当前没有激活的草图对象+ _9 y# a' v/ }2 m
{
+ j& |' @3 }( T) U, k7 fswDocExt->SelectByID2(L"Front Plane", L"LANE", 0.0, 0.0, 0.0, VARIANT_FALSE, 0, NULL, swSelectOptionDefault, &bRetval);///选择前视基准面4 {% K7 O- V1 f+ E7 N
swDoc->InsertSketch2(VARIANT_TRUE);///添加草图
9 y: A0 M4 v; Y/ X( I; a}
# p7 E/ e! A' X4 B$ m9 Q8 z! M. l& P5 M5 V e* H: `) `* }" t
CComPtr swSkSeg;//定义SketchSegment对象; C- ?* f% Y+ n% P
swDoc->ICreateCircle2(0.0, 0.0, 0.0, 0.050, 0.0, 0.0, &swSkSeg);///新建一个圆
: n6 I- H3 s& p6 N# z4 mCComPtr swFeat;//定义Feature对象. B9 _4 V0 X# i( B2 _+ P6 a

& Y1 z" v( t( lswFeatMgr->FeatureExtrusion2(VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,0, 0, 0.100, 0.100,///拉伸/ H$ M: n( }2 V0 i i0 f- F) ^

3 j! n8 |+ f0 MVARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, 0.0, 0.0,
5 U- |, b) a w5 p$ @
1 b: I& C+ J2 C8 W( {6 cVARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,
C, S( R( q q" `, X/ ? D
6 o2 |+ w8 k7 {1 {3 M pVARIANT_TRUE, VARIANT_FALSE, VARIANT_TRUE, 0, 0.0, VARIANT_FALSE, &swFeat);
& A1 q, \: d8 d; l9 ~* Dreturn S_OK;8 K5 B' R' c# \) {
}
; i( `( t! b- e b1 V8 I4 c8 F* D
9 C t7 g0 L6 }7 A# b" r5 V. M! H+ H( d; L7 k

本帖子中包含更多资源

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

x

评分

参与人数1 威望+1 收起理由
a99335 + 1 玩的高深

查看全部评分

2#
发表于 2016-1-10 23:39:54 | 只看该作者
还要学习高级编程语言,搞这么复杂,主要用在什么方面?

点评

不才认为纯属多余 ! 发表于 2016-1-11 09:15
3#
发表于 2016-1-11 07:50:51 | 只看该作者
看的眼都花了
4#
发表于 2016-1-11 08:18:41 | 只看该作者
尤记 哪年哪月学过c语言 c++ 好像成绩还不错 现在这 扎一看 不明觉厉a 
5#
发表于 2016-1-11 09:52:10 | 只看该作者
二次开发对复杂装配体的变型设计才有用吧,单个零件拿来干嘛,做重构库?
6#
发表于 2016-1-11 11:00:06 | 只看该作者
额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有些帮助。我当时做的时候,是通过录制宏及查阅API的help文档做的,单个零件建模的话,其实就是不断的草图绘制和特征建立,而这里面最难的就是草图、基准面什么的选取,找准ID就好了,你可以录制macro文件之后看看。至于你说的这个轮毂的建模,难度应该不大,就只是工作量的问题。
7#
发表于 2016-1-11 11:35:55 | 只看该作者
弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完全不会用二次开发,但是感觉好像也能画出来。
8#
楼主 | 发表于 2016-1-11 17:52:20 | 只看该作者
喂我袋盐 发表于 2016-1-10 23:39 5 U U- h& x& A0 Z; M
还要学习高级编程语言,搞这么复杂,主要用在什么方面?
: y8 @' t! K A6 g1 M* c
这个好搞零件库
9#
楼主 | 发表于 2016-1-11 17:53:28 | 只看该作者
余存 发表于 2016-1-11 11:35
" p7 d: {; g9 `1 k H& b7 v5 m弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完 ...
0 k4 d/ K# N# u/ J K4 D$ ?
要弄零件库,和各种轮胎装配
10#
楼主 | 发表于 2016-1-11 17:54:03 | 只看该作者
Brian_Hou 发表于 2016-1-11 11:00 4 a, e4 Q6 b6 j ^( V9 Z ~( z
额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有 ...

8 M X/ o# J$ A% i初学小弟感觉很难啊
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2024-8-20 14:07, Processed in 0.058195 second(s), 19 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

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