×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

SolidWorks API

SolidWorks API

SolidWorks API

(OP)
Hi!

I am new to SolidWorks API but am an experienced SolidWorks user.

Please can someone advise how to open a SolidWorks file remotely?

Thank you

RE: SolidWorks API

Hi, Bingo123:

What do you means by "remotely"?

Best regards,

Alex

RE: SolidWorks API

(OP)
Hi!

Sorry, I wasn't very clear.

I would like to write code in Visual Studio, so that when I execute it it will check if SolidWorks is open, if not open it.

Once I have learnt to do this I would also like to get the code to check if a certain solidworks part file is open, and if not open it.

Is this possible?

Many Thanks :)

RE: SolidWorks API

Hi, Bingo123:

You will need to use swApp.OpenDoc(?) method. Please search "Open Document Silently Example" under Solidworks API help menu.  Alternatively, you can use "Shell" command, which can open any type of documents as long as there is associated application in your system.

You do not need to check if Solidworks is open (running).  Windows takes care of that for you.

Hope this helps!  Thanks for the star!

Best regards,

Alex

RE: SolidWorks API

(OP)
I have tried this advice, but I am quite a novice with Visual Studio and was wondering if you could advise how to debug...

I have created a visual basic project and have added a code file where I have copied the following (from SolidWorks API help):


'------------------------------------------------------

'

' Preconditions: Specified file to open exists.

'

'                NOTE: The specified file in this example is shipped as a

'                      sample file for a SolidWorks tutorial. After

'                      opening the file with this macro, close it without saving it so

'                      that it will continue to work with the tutorial.

'

' Postconditions: Specified file is opened.

'

'------------------------------------------------------

Dim swSelMgr As SldWorks.SelectionMgr

Dim swDocSpecification As SldWorks.DocumentSpecification

Dim sComponents(0) As String ' List of components to select

Dim Components As Object

Dim swComponent As SldWorks.Component2

Dim sName As String

Dim longstatus As Long, longwarnings As Long



Sub Main()



    swApp = Application.SldWorks



    swDocSpecification = swApp.GetOpenDocSpec("C:\Program Files\SolidWorks\SolidWorks\samples\tutorial\advdrawings\bowl and chute.sldasm")

    sComponents(0) = "food bowl-1@bowl and chute"

    Components = sComponents

    swDocSpecification.ComponentList = Components

    swDocSpecification.Selective = True

    sName = swDocSpecification.FileName

    swDocSpecification.DocumentType = swDocASSEMBLY

    swDocSpecification.DisplayState = "Default_Display State-1"

    swDocSpecification.UseLightWeightDefault = False   ' Ignore the system default and use swDocSpecification::LightWeight value

    swDocSpecification.LightWeight = True

    swDocSpecification.Silent = True

    swDocSpecification.IgnoreHiddenComponents = True



    swModel = swApp.OpenDoc7(swDocSpecification)

    longstatus = swDocSpecification.Error

    longwarnings = swDocSpecification.Warning



End Sub



But, I have errors:

''Sub Main' was not found in 'Open Solidworks assembly VBA''.

And several:

'Statement is not valid in a namespace.'
(For all of the 'Dim swSelMgr As SldWorks.SelectionMgr' etc. at the start of the code.).

This is probably a reflection of my lack of Visual Studio knowledge, but can someone help me?

Thank you so much :)

RE: SolidWorks API

Hi, Bingo123:

"Sub main" is a startup form to an application.  It seems that you do not have this startup form.  Normally, a VB project can have many forms (windows), and developers need to specify which form that you want to assign the startup form.

It also seem swApp object is not defined.

I copy my API sample and I have no issue.  I am still using SW08.

Best regards,

Alex

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources