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)
| File | Size | Uploaded | |
|---|---|---|---|
| solidwrap-2.2.1.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|