Skip to main content

SolidWrap

Copyright (c) 2024 Sean Yeatts. All rights reserved.

This module wraps the SolidWorks and PDM APIs for a streamlined, Pythonic workflow.

Key Features

  • Intuitive Pythonic syntax for interacting with SolidWorks documents & PDM files.

  • Timestamped logging for insights into automated task performance.

  • Full API documentation detailing module components.

Navigate to the API Reference for a complete walkthrough of the module.

Quickstart

Key import statements :

import solidwrap                         # top level module import
from solidwrap import SolidWorks, Vault  # access to SolidWorks and PDM processes
from solidwrap import Filepath           # generic container for file objects

The following methods must be called before you can utilize the SolidWrap API :

solidworks = SolidWorks(version=2023)   # instantiate SolidWorks
vault = Vault(name='VAULT-NAME')        # instantiate PDM Vault ( case sensitive )

solidworks.connect()   # connect to SolidWorks client
vault.connect()        # connect to PDM Vault client

Example - a simple script that exports a group of ‘.SLDPRT’ documents to various formats :

# IMPORTS
from solidwrap import SolidWorks, Vault         # core classes
from solidwrap import Filepath, SWExportFormat  # containers


# FUNCTIONS
def export_example(solidworks: SolidWorks, vault: Vault) -> None:

    # Set up some example files
    files = [
        Filepath(fr"C:\{vault.name}\Test_Part_01.SLDPRT"),
        Filepath(fr"C:\{vault.name}\Test_Part_02.SLDPRT"),
        Filepath(fr"C:\{vault.name}\Test_Part_03.SLDPRT")
    ]

    # Export a variety of formats
    for file in files:
        if (document := solidworks.open(file)):
            solidworks.export(document, SWExportFormat.IMAGE)      # .png
            solidworks.export(document, SWExportFormat.PARASOLID)  # .x_t
            solidworks.close(document)


# MAIN DEFINITION
def main() -> None:

    # Instantiate core objects
    solidworks = SolidWorks(2023)
    vault = Vault('My-Vault')

    # Initialize connections
    if not solidworks.connect(headless=False):
        return None
    if not vault.connect():
        return None

    # Do some stuff...
    export_example(solidworks, vault)

    # Terminate connections
    solidworks.disconnect(silent=False)
    vault.disconnect()


# TOP LEVEL ENTRY POINT
if __name__ == '__main__':
    main()

Installation

Prerequisites

  • Python 3.8 or higher is recommended

  • pip 23.0 or higher is recommended

For a pip installation

Open a new Command Prompt. Run the following command:

py -m pip install solidwrap

For a local installation

Extract the contents of this module to a safe location. Open a new terminal and navigate to the top level directory of your project. Run the following command:

py -m pip install "DIRECTORY_HERE\solidwrap\dist\solidwrap-2.0.0.tar.gz"
  • DIRECTORY_HERE should be replaced with the complete filepath to the folder where you saved the SolidWrap module contents.

  • Depending on the release of SolidWrap you’ve chosen, you may have to change 2.0.0 to reflect your specific version.

Metadata

Release files for solidwrap 2.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for solidwrap 2.2.1
File Size Uploaded
solidwrap-2.2.1.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for solidwrap 2.2.1
File Interpreter ABI Platform
solidwrap-2.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.4 kB

Release files / solidwrap-2.2.1.tar.gz

Download URL solidwrap-2.2.1.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a76093bcf9c49ef599e265f472ed54112b582544aeb7b6933d941e4d3d55c041
BLAKE2b-256 checksum
How to use checksums
453db5e1459d896869486dd02c36ac336defd98534894d36d37bf24a131ed1be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / solidwrap-2.2.1-py3-none-any.whl

Download URL solidwrap-2.2.1-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ede887d2f22017ebffb6af19645c1acaccc0621b585b37ec479d54de6ab2543
BLAKE2b-256 checksum
How to use checksums
dc9b269749914a757d8135114b2e879da995ccf39c3bdda428ab98c5d0ac71b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

2.2.1 This release

2 release files

2.2.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page