机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

SolidWorks 二次开发 求助

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-10 22:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问有没有哪位大哥大姐对用c++对SolidWorks进行二次开发比较熟悉的,比如下面这个轮毂怎么用C++程序画出来
) n% H) S! O1 }# ^这是轮毂源文件
- S. Q- g* T) ~3 ?  P& Y各位大哥大姐如有其他三维建模程序的,能不能传给小弟我学习学习,感激不尽了!小弟这边也有些机械方面的资料可以和大家共享。# N, u6 n4 s3 z  h
下面是小弟编的一个程序,新建文件——创建圆柱。' R4 a) V) A1 I  [4 J, F3 l
/* NOTE: You will need to add the -GX flag to your Project Options in Project->Settings->C/C++*/
8 h. Q6 k, x+ }- W- Q" |" t: _. n// swobj.cpp : Implementation of Cswobj0 F9 W1 ^8 Q! I1 |
#include "stdafx.h"7 l7 y3 H, I& ~# Q* @  ^$ s0 {! z
#include "111.h"; K4 Q6 r' m! g' ]6 |
#include "swobj.h"
. u* L9 H3 ?: d( j- z  L+ k0 m, Y. _0 ~8 q! e; s
/////////////////////////////////////////////////////////////////////////////
: B- G2 Q+ J8 |# q9 [9 C2 r) s// Cswobj" s; {/ G: D& E, m' c* a
# E* w" {  M' [5 u  V3 }9 U, f
void Cswobj::AddUserInterface()6 l! S% y/ Y, w. l4 a
{
* i9 F6 i1 C9 q        AddToolbar();$ V% f+ H) T7 W% Q- A+ z7 X
        AddMenus();
4 c, i4 V7 d! U4 U; `& C* j' T}
' Y5 y- E" l" r- W
/ ~7 R7 H" F7 z  r+ c6 u/ qvoid Cswobj::RemoveUserInterface()
" ~. l$ f) Q- s4 L- O! T/ ~. p{
+ L2 w. y9 M0 S        RemoveMenus();" g3 n2 e" p; d8 E3 [
        RemoveToolbar();
& {2 J* }& [( [# n# i}
! M: o8 F! G! G  k- q; j6 a! J: e
void Cswobj::AddMenus()
. ~/ Q0 T% J- l{- ?, w3 w( a7 t9 c% r
        long retval = 0;/ r3 l7 B' u; J3 b
        VARIANT_BOOL ok;
9 V5 }' b+ C  K        long type;
7 O3 ]8 Z( w. i% ?! [) B; ]7 q* `        long position;$ Y$ G* m2 ?2 {4 B
        CComBSTR menu;
7 m8 y7 c: O4 c& T% n/ M. t        CComBSTR method;% a4 @: L- N0 d8 ?
        CComBSTR update;9 Y3 S2 S* d. w5 t% \
        CComBSTR hint;
" e2 p) x. R/ i8 n  x& R4 g; d+ l9 R
        // Add menu for main frame! o% K2 ]" `- h" k
        type = swDocNONE;* g- O& k% ?7 P$ X$ w0 W
        position = 3;
) P2 \, {( D5 K2 s0 f# p* R" M        menu.LoadString(IDS_MY1_MENU);7 [8 D- L% N9 k1 X  z9 @
        m_iSldWorks->AddMenu(type, menu, position, &retval);
9 X$ R( s% W/ D% t$ t
7 O: k# z5 R+ u; a0 ?4 U' o6 t        position = -1;
9 S' T! ^- M- @  e9 q3 q9 _        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
9 Z1 u4 o( E! j' m; ?1 u/ q& a        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
8 I7 a. \$ L6 U" r& }9 }1 n. Z% S        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);4 r" k2 Y7 A3 p  p0 s) z
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);" t; W: V1 D- p, P+ M* h+ K
3 O& x" T; S, ]0 e
        position = -1;  //wb
* ~6 u4 P6 n9 m% ^* L        menu.LoadString(IDS_111_ITEM);
& i3 H% W/ M2 P" W! D5 Q$ V        method.LoadString(IDS_111_METHOD);! j+ q( ]8 h! A' K( D
        hint.LoadString(IDS_111_HINT);, ^; S2 l4 X) B7 h) C, H6 @  h
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
) D% n5 w0 l/ D7 G/ l1 e
, u0 b8 Y# i7 y2 M) @        // Add menu for part frame) N) U. \8 [0 I( ~2 \) [
        type = swDocPART;( o- b8 K& b% V; E) F+ i
        position = 5;5 [" _6 r0 G+ b
        menu.LoadString(IDS_MY1_MENU);
1 \8 p+ G* X- r5 x; f        m_iSldWorks->AddMenu(type, menu, position, &retval);
2 W3 _$ M) d; P! t& K/ h8 i; U; b( L, j( a1 r2 f) B
        position = -1;  //wb% @% i. a4 Z4 [1 j; X+ V
        menu.LoadString(IDS_111_ITEM);
1 d) h5 U- r* T, P# `        method.LoadString(IDS_111_METHOD);
+ Y2 G) C0 {. J; p) r- q/ n        hint.LoadString(IDS_111_HINT);, h$ ^6 l1 {6 @6 S1 K
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
  B5 N  P8 e3 S0 A6 `' M/ g9 G. D# R. `4 M8 ?* e4 f, s% h( R+ e. D
        position = -1;  //wb+ c- m( U0 C6 _" \( V0 p
        menu.LoadString(IDS_111_ITEM2);; f2 I. m8 x! l+ L
        method.LoadString(IDS_111_METHOD2);
# q- o$ ]: q. C2 z8 t; B        hint.LoadString(IDS_111_HINT2);# t0 @9 W+ ~- ^, `. T4 X
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);" ?/ V& \2 c. F; H5 p7 D% y- F
# d6 O$ p2 T/ U* x" ~9 E7 e
        position = -1;
! q# y; z! X; f5 b        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
) m. V/ i$ V  F( k7 a        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
1 r; z! B( P* |1 N* o        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
; T' F- q/ q: X- ^6 S$ P        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);# k( Z; A# J3 [* N* B

$ f8 \, n& _3 p% T! F0 y        // Add menu for assembly frame8 @% i  ^, S+ `
        type = swDocASSEMBLY;* \5 g# J5 v2 b
        position = 5;
) E* c% ?* H# |/ ]        menu.LoadString(IDS_MY1_MENU);3 {0 H" n# r+ K% x- e+ y, V
        m_iSldWorks->AddMenu(type, menu, position, &retval);3 U9 ?  ?0 R  J# K1 k- Y9 U4 E
, K# S7 j( E$ _% C& c2 {$ I2 m7 l
        position = -1;
& p6 D0 l+ m  }; F( W* A$ }        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
! i; i! p2 z3 E$ a/ a        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);* z. R* L  \  O$ P+ h" a$ o
        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);0 z9 W9 R: J0 n* L" _: \
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
; n" Z) Q$ n9 [) U% P
$ s+ {- J6 Z! Q4 c: y$ G* u% r        // Add menu for drawing frame+ N" ?' X3 p! n7 {) b
        type = swDocDRAWING;: w9 l- Y. V# K+ ]! C" b+ @: L
        position = 5;7 c, D9 x+ N5 u5 n
        menu.LoadString(IDS_MY1_MENU);5 _4 w3 b$ X# n  h5 D: n+ _! Y8 E  R
        m_iSldWorks->AddMenu(type, menu, position, &retval);1 r+ L0 i: I+ k9 u/ _
        position = -1;
, L1 i/ |3 t1 F: q% D2 D8 a        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);& }0 T: N" V" v% w
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
2 w( w9 Z3 m/ E8 J        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);$ L+ ^. F! d* ]6 p6 S: _
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
5 a& `" `! u* q# V4 B) `
, r" P: W0 _8 W6 s}
4 E) v/ L6 i4 T# r/ j/ P9 B9 [# O
void Cswobj::RemoveMenus()  q- i; a4 Z. b  d) ?; H: u' Y1 g
{
7 L5 n9 E5 W7 F/ i        VARIANT_BOOL ok;$ O9 [; F, n' ^+ ~
        CComBSTR menu;; J: t5 M! b8 L5 z2 D

6 T2 y- v' A$ |7 c  X$ c- H# z5 H        menu.LoadString(IDS_MY1_MENU);! G# c7 m+ w) z! W- i
        m_iSldWorks->RemoveMenu(swDocNONE, menu, NULL, &ok);( X/ l  i: q& J1 H2 U" H  I
        m_iSldWorks->RemoveMenu(swDocPART, menu, NULL, &ok);
: P/ z# S; m# }% W5 |* D        m_iSldWorks->RemoveMenu(swDocASSEMBLY, menu, NULL, &ok);
2 Q) E, b1 k. {        m_iSldWorks->RemoveMenu(swDocDRAWING, menu, NULL, &ok);' [5 G( r  y+ F$ q- A2 w2 u9 ]
}4 f& s, [' W3 Y5 [3 Y
& ?$ [. s$ M' t. G, o6 D
void Cswobj::AddToolbar()
/ `' d$ h$ H" K- [- |{
1 S+ c3 Y5 y0 c8 v8 S- T' S4 B        VARIANT_BOOL stat = VARIANT_FALSE;9 R) t3 A1 V& _
        VARIANT_BOOL ok;! m& f6 N/ s  b$ |7 \& c' a$ w
        HRESULT hres;% V0 W8 }. }, J! Z( k! U2 g
  ^0 N9 L8 Z1 h6 U4 O
        CComBSTR title;
1 p& C6 X& g4 O  I        CComBSTR callback;
( j5 K/ X: f% }; _        CComBSTR update;. n* }7 }9 Q+ w9 m0 Y
        CComBSTR tip;; c+ k5 i: Z" ]8 p) Y$ u1 W- [# p
        CComBSTR hint;
6 U! V$ f, T/ _, x        if (m_lToolbarID == 0); d1 `  N& t" U4 X. C
        {' {: a1 K9 ]. I. b0 O$ ^$ b
                title.LoadString(IDS_MY1_TOOLBAR_TITLE);7 V2 e) f4 M8 Q4 M, v
                callback.LoadString(IDS_MY1_TOOLBAR_CALLBACK);, u+ _( V& M9 T$ ~1 ^1 M
                update.LoadString(IDS_MY1_TOOLBAR_UPDATE);
! _/ L/ R% d5 m" k                tip.LoadString(IDS_MY1_TOOLBAR_TIP);
# V9 O+ A% D( B! Q1 A8 C1 _% Q                hint.LoadString(IDS_MY1_TOOLBAR_HINT);( g+ V. K4 F+ W& l# w9 b/ n9 }

( l; m. [7 i: I0 Y                hres = m_iSldWorks->AddToolbar3(m_swCookie, title, IDR_TOOLBAR_SMALL, IDR_TOOLBAR_LARGE, -1,
5 d. Y" L9 F# r# B) X0 w                                                                                swDocTemplateTypeNONE|swDocTemplateTypePART|swDocTemplateTypeASSEMBLY|swDocTemplateTypeDRAWING, &m_lToolbarID);4 h" |% h( y( Q" u0 ?
4 ~: S& C$ [, Q. K. z/ t+ [
                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 0, callback, update, tip, hint, &ok);" X1 J+ |8 D& {7 V
                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 1, callback, update, tip, hint, &ok);
! f0 t, R) ?3 z( q7 A0 F) _5 @( @                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 2, callback, update, tip, hint, &ok);9 V& f5 o7 J! ?

, o$ ~9 P6 n3 O% e" f8 N        }
2 }# R/ C3 F$ e) K6 Y}. f% X& E1 S* U2 R7 L+ }+ J% c
- a( c: P7 V$ D, ?' |/ O4 {
void Cswobj::RemoveToolbar()
& w' I6 O' {+ v4 B, @1 C; R{
) q: w% _6 q. a        if (m_lToolbarID != 0)
$ i, P# i: {, I# e* F( L* m# V' f" Z        {
/ K6 U$ B& c. }3 \% N# U                VARIANT_BOOL stat;
/ E( c5 {% W8 `
% R0 _% q1 j8 C  R' R* L% y2 e                HRESULT hres = m_iSldWorks->RemoveToolbar2( m_swCookie, m_lToolbarID, &stat);0 B9 s, l- o0 m; m$ K& V2 D& m* v" U
                m_lToolbarID = 0;2 t& h  ?7 Z: \3 o* I/ a
        }2 K4 H/ [) I9 K% W
}" `& k4 G0 U: Z- [" a* g4 W2 N: f
- T0 F  t" u8 R
/ P( M( [/ U; C" b, o) k( I- B
/////////////////////////////////////////////////////////////////////////////
9 ^6 k1 O. ^" ^- L" t// ISwAddin implementation; ]3 U6 ~7 v( A
3 v4 u! }! n2 ?2 S
STDMETHODIMP Cswobj::ConnectToSW(IDispatch * ThisSW, LONG Cookie, VARIANT_BOOL * IsConnected)
) c3 _! v* D* M9 z{) S! a/ x; q3 P9 [9 l8 a
        VARIANT_BOOL status;
7 v8 e# u4 Z; U' o; A0 a$ G% J* l: e- R
        if (IsConnected == NULL)* r: t( w0 c9 w6 e
                return E_POINTER;; E4 G3 L8 d1 k5 l& h2 ~' H" F

% F3 r5 k7 k  z" n       
7 o$ ]1 ^: @- n" \$ {        m_swCookie = Cookie;
$ N7 i$ r! v. o) Y: m' [# a/ Y        m_iSldWorks = CComQIPtr<ISldWorks, &__uuidof(ISldWorks)>(ThisSW);% M' M2 E' U7 L
        if (m_iSldWorks != NULL)" g1 G! [, B7 z  f
        {          h3 B) Q& A" |4 x
                m_iSldWorks->SetAddinCallbackInfo((long)_Module.GetModuleInstance(), static_cast<Iswobj*>(this), m_swCookie, &status);! b+ Q, z7 F0 Y# E6 |
                AddUserInterface();
$ A+ p0 m. r" d0 u% C" I- {1 P* }  ?) k        }
" B& F7 ~  p, F, x4 t9 N8 u4 g9 M/ e( s6 y! c
        return S_OK;* l; Q# h9 d$ Q& W% h8 r4 m: p
}1 F/ v& F6 @4 c# a( h9 ?

7 s& y1 ~# ~( g, {  ]) y, ~% o7 QSTDMETHODIMP Cswobj:isconnectFromSW(VARIANT_BOOL * IsDisconnected). \( [" H, T0 F" Y9 F8 C
{1 Q& z/ m2 W: J/ G4 l4 }$ N
        if (IsDisconnected == NULL)  H7 F) h' }8 h2 Z# p
                return E_POINTER;, P! b6 h4 E# _: y4 i- n0 R) @4 X2 [
, T- Y* M8 X9 M. \3 N: R
        if (m_iSldWorks != NULL)  Z/ C& U8 f, i/ i' [+ R! X* Y
        {! \0 {/ l2 ~4 H* E4 n$ G$ N
                RemoveUserInterface();. |- e/ N, M" V' ?( Z5 \
                m_iSldWorks.Release();6 J# g& F# w+ O
        }/ j4 a! u4 q8 R$ }! g& E4 p
2 _7 j& M6 w; ?/ E$ H! d
        return E_NOTIMPL;
( K8 \4 W7 T2 L}
  W6 Z9 j. A4 }  L# b3 I
# G2 H% }" V! N9 Q0 Y6 d
& a/ b0 `, k9 I; h# G( v/////////////////////////////////////////////////////////////////////////////2 X- C: t- @$ d) r. Z+ n! q
// DSldWorksEvents implementation
' }5 ^/ j) R; _: M1 m/ d! H0 V4 ~5 X7 y6 a3 t8 p- r

/ b1 e5 X/ X, W4 ]0 V) S/////////////////////////////////////////////////////////////////////////////
0 p7 `! _4 o, ^( X- C5 ^7 G0 s2 K// Iswobj implementation
% ~8 g2 c9 Q1 d) g: G
0 U) |( W. [8 mSTDMETHODIMP Cswobj::StartNotepad()
! h4 M4 W; w+ m+ O. A( {' d{
/ k0 [. r) S# F4 z        // TODO: Add your implementation code here
3 @5 ~8 t& s' w( l. d7 ^, \( |0 R        ::WinExec("Notepad.exe", SW_SHOW);- L3 x3 W) ]! p) ^
! V' c) J- ]3 {! [, d3 k3 B
        return S_OK;
" \7 P1 b2 i  b; [: V* a}: X4 m+ `* S& q7 Y% s' t
4 A0 Q& o9 i2 Q) f" L4 |
STDMETHODIMP Cswobj::ToolbarUpdate(long *status)
* M* _) m% S7 E7 h: c- ?{
# n+ C" C% [4 J! c        HRESULT retval = S_OK;
" ~5 l( D7 d3 K/ ?! w# |7 s5 t1 m4 y: ~% g
        *status = 1;
2 F" q. y- `0 e0 t( }
6 h, J8 w9 m( _5 M/ K        return S_OK;
6 V! c, o. H+ B6 e! h}/ K8 e2 _1 d& r
1 \5 P( k2 K" e& N6 g) n
STDMETHODIMP Cswobj::first()//新建文件" z8 f5 c8 O0 w$ L3 S* L; H. ^
{& b% x1 t- {7 _6 h
        AFX_MANAGE_STATE(AfxGetStaticModuleState())
, t5 a2 T) h6 ~# A9 o7 v+ C
0 }& m* o9 a+ l# E        // TODO: Add your implementation code here2 Z  ]* V+ e, ~  G2 @) Q0 S
        HRESULT retval;! M8 A% }$ w* F" p; R" c6 `. h
       
1 D# i9 }, ~/ ^8 {" r, z) |" W        CComPtr<IPartDoc>pPartDoc = NULL;+ t4 J" @' D$ h" K$ q1 X
        retval = m_iSldWorks->NewPart((IDispatch**)&pPartDoc);' w7 ~+ ]) J$ Y9 Q+ e  t
        if(pPartDoc == NULL)/ J0 `( \" Q7 z6 K
        {  p$ L; F3 X) T5 D  |
                AfxMessageBox(_T("新建零件文件失败"));, u' m9 m( T% _
                return S_FALSE;
6 c- b' F9 ]# z        }. J# n, O' M: ^
        return S_OK;" Q" |, I7 E" |5 r* h3 l- B4 t
}
1 h. ^6 `1 u3 o( w/ g; y9 p
: v3 g9 j+ v" nSTDMETHODIMP Cswobj::second()//创建圆柱6 J# \% ^6 a% T8 O4 R+ _
{+ }# H* T+ v- ?4 l3 [. \- r9 _
        AFX_MANAGE_STATE(AfxGetStaticModuleState())$ R4 E2 T- @9 Z

# R) i, X4 `9 H- _: ?/ g        // TODO: Add your implementation code here
+ s! M7 `+ ?# m$ `4 @; z% cVARIANT_BOOL bRetval = VARIANT_FALSE;) x% h2 z2 I* x

3 m8 M! p7 g; S4 C        CComPtr<IModelDoc2> swDoc;//定义ModelDoc对象
9 w, X0 ]; Q# @/ f        CComPtr<IModelDocExtension> swDocExt;//定义ModelDocExtension对象1 N8 Q7 x- ~9 G; a5 O. T$ w
        CComPtr<IFeatureManager> swFeatMgr;//定义FeatureManager对象" r5 U9 p2 [# d; K' S/ V' }: x; u
/ B9 s$ f4 x/ G8 K5 U$ o$ S
        m_iSldWorks->get_IActiveDoc2(&swDoc);///获得当前活动文档对象; q' d: X, M1 J% z  R3 }
        swDoc->get_Extension(&swDocExt);///获得当前ModelDocExtension对象- ]1 W$ S. M9 ]( p% ]+ b
        swDoc->get_FeatureManager(&swFeatMgr);///获得当前特征管理器对象
  y) ?6 O# j& n. m; b* j* ^+ L( ~) O
        CComPtr<ISketch> swSketch;//定义Sketch对象6 ?& g# l2 @& }6 I& \% f% e
        swDoc->IGetActiveSketch2(&swSketch);///获得当前激活的草图对象
+ ~% S* ~( P7 w9 ~% S4 K
* G! p/ |8 H# V        if (swSketch == NULL)///如果当前没有激活的草图对象
( [0 l3 `& t, d& I' T0 r: d+ e        {
8 T8 @5 c3 P  T! }6 E* C7 N7 ?                swDocExt->SelectByID2(L"Front Plane", L"LANE", 0.0, 0.0, 0.0, VARIANT_FALSE, 0, NULL, swSelectOptionDefault, &bRetval);///选择前视基准面
1 M6 K( E4 h: Y% K                swDoc->InsertSketch2(VARIANT_TRUE);///添加草图
8 `6 K$ Y; ^) @. Y; c4 t3 e' f        }- G$ I  e# O" I9 M! x  M

8 t6 |0 o; @1 @        CComPtr<ISketchSegment> swSkSeg;//定义SketchSegment对象
; o6 F5 C. d: S) k$ T* ^* g        swDoc->ICreateCircle2(0.0, 0.0, 0.0, 0.050, 0.0, 0.0, &swSkSeg);///新建一个圆
* \7 u! Z/ c, Q, F# g' C) c        CComPtr<IFeature> swFeat;//定义Feature对象0 k+ i  K' J5 x/ D
$ [, j( F0 y& b) a8 b! P
        swFeatMgr->FeatureExtrusion2(VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,0, 0, 0.100, 0.100,///拉伸6 }7 q- _: V) n/ c$ ~. U
# P  X2 F, j3 H
        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, 0.0, 0.0,
, I1 l/ v+ a; A$ C; W& v3 I$ s; K' J
; r* |, Y/ [$ G1 `& E2 B        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,
* {* R2 I6 S: n% g( X" K6 ~9 O2 @- S
7 ~$ Z& X% }. x+ j        VARIANT_TRUE, VARIANT_FALSE, VARIANT_TRUE, 0, 0.0, VARIANT_FALSE, &swFeat);) y6 V" \$ x4 b/ `& K0 v
        return S_OK;* g: q( N# X, n$ |
}! q7 L* p* I  ^" u: K  N3 b- I
2 r5 [. e+ M- S$ e
/ r# L" d, u9 s4 O2 i

本帖子中包含更多资源

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

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
% c3 K$ H3 ]7 h. f  L& m. u# s3 y还要学习高级编程语言,搞这么复杂,主要用在什么方面?

2 w3 q8 m3 X; @7 G- C这个好搞零件库
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2016-1-11 17:53:28 | 只看该作者
余存 发表于 2016-1-11 11:35
( [- Z: f+ U8 f1 X8 ]弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完 ...

% {- z0 c7 O4 ?- M要弄零件库,和各种轮胎装配
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2016-1-11 17:54:03 | 只看该作者
Brian_Hou 发表于 2016-1-11 11:00
8 m8 r& V7 Z% \0 p4 N% |+ a3 ^额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有 ...

4 S+ W0 m; X5 c5 U7 ~2 p9 k初学小弟感觉很难啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 22:46 , Processed in 0.066645 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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