Skip to main content

solidworks-design-vault-cad

Access and utilize production-ready SolidWorks parametric 3D CAD models with manufacturing intelligence for mechanical design projects.

Aller à l'installation

Informations de source

Dépôt
reason-machines/design-skills
Dernière activité de la source
30 juin 2026 à 16:44
Langue détectée de SKILL.md
anglais
Étoiles
4
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
solidworks-design-vault-cad
description
Access and utilize production-ready SolidWorks parametric 3D CAD models with manufacturing intelligence for mechanical design projects.
triggers
["open a SolidWorks model from the design vault","find a parametric CAD assembly for manufacturing","load a gear or sprocket model with design tables","get a production-ready SolidWorks part file","access mechanical CAD templates with BOM automation","use SolidWorks files with manufacturing constraints","configure a parametric assembly from the vault","export CAD models with material properties"]
# SolidWorks Design Vault CAD Skill > Skill by [ara.so](https://ara.so) — Design Skills collection. ## Overview The SolidWorks Design Vault is a curated repository of production-ready parametric 3D CAD models built for professional mechanical design. It contains `.SLDPRT` (part files), `.SLDASM` (assembly files), and `.SLDDRW` (drawing files) optimized for real-world manufacturing with GD&T principles, tolerance analysis, and material-conscious geometry. Each model features: - **Parametric DNA**: Global variables and linked dimensions for automatic updates - **Manufacturing Intelligence**: Draft angles, wall thickness, thread forms (ASME B1.1, ISO 68-1) - **Design Tables**: Multiple configurations for common variations - **BOM Automation**: Auto-populated bills of materials with material density and machining time - **Multi-format Export**: STEP, IGES, STL outputs with proper face normals ## Installation ### Download the Repository ```bash # Clone the repository git clone https://github.com/fgiafrica/SolidWork-Design-Vault.git cd SolidWork-Design-Vault ``` ### Access via Web Interface Visit the project page and use the download button: ``` https://fgiafrica.github.io/SolidWork-Design-Vault/ ``` ### File Requirements - **SolidWorks Version**: 2021 or later recommended - **File Extensions**: `.SLDPRT`, `.SLDASM`, `.SLDDRW` - **Dependencies**: Some assemblies reference standard parts libraries ## Repository Structure ``` SolidWork/ ├── Assemblies/ # Multi-body interlocking systems │ ├── Linear_Actuator/ # Ball screw mechanism with preload │ └── Vise_Grip/ # Compound leverage simulation ├── Parts/ # Standalone manufacturable elements │ ├── Sprockets/ # ISO-standard tooth profiles │ └── Gaskets/ # Compressed elastomer shapes ├── Templates/ # Custom property tabs & BOM formats │ └── Sheet_Metal/ # Bend allowance tables included └── Drawings/ # 2D representations with ordinate dims └── Gearbox_Exploded/ # Ballooned view for assembly instructions ``` ## Working with Part Files ### Opening a Basic Part ```python # Example: Accessing part metadata (pseudo-code for automation scripts) import os part_path = "Parts/Sprockets/Double_Pitch_40_Bore.sldprt" # Check file exists if os.path.exists(part_path): print(f"Part located: {part_path}") # Open in SolidWorks API or convert to neutral format ``` ### Understanding Design Tables Design tables allow configuration switching within a single file: 1. Open `Double_Pitch_40_Bore.sldprt` 2. Right-click on "Design Table" in Feature Manager 3. Select configuration from dropdown (e.g., "1/2 inch bore", "12mm bore") 4. Model regenerates with updated hub geometry and keyway **Key Parameters in Design Tables:** - `Bore_Diameter`: Shaft size - `Hub_Length`: Axial engagement - `Keyway_Width`: Per ISO 2491 or ANSI B17.1 - `Material`: Steel, Aluminum, Nylon ### Custom Properties Each part contains manufacturing metadata: ``` Custom Properties: ├── Vendor_Part_Number: "SPK-40-2P-B12" ├── Material_Grade: "AISI 1045 Steel" ├── Surface_Finish: "125 RMS" ├── Weight: Auto-calculated from density └── Estimated_Cost: Based on material volume ``` ## Working with Assemblies ### Loading an Assembly ```bash # Navigate to assembly directory cd Assemblies/Linear_Actuator/ # Files you'll find: # - Linear_Actuator_Main.sldasm (top-level) # - Drive_Screw.sldasm (sub-assembly) # - Motor_Mount.sldprt # - Ball_Nut.sldprt ``` ### Assembly Mate Structure Assemblies use disciplined mating: - **Concentric mates**: For shaft/bore relationships - **Coincident mates**: For planar surfaces - **Distance mates**: With limit constraints - **NO "Width" or "Symmetric" mates** (per contributing protocols) ### BOM Extraction ```python # Example: Extracting BOM data for manufacturing import csv def extract_bom(assembly_path): """ Parse SolidWorks custom properties for BOM generation Note: Requires SolidWorks API or pre-exported CSV """ bom_data = { 'part_number': 'LA-001', 'description': 'Linear Actuator Assembly', 'components': [ {'name': 'Drive_Screw', 'qty': 1, 'material': 'AISI 4140'}, {'name': 'Ball_Nut', 'qty': 1, 'material': 'Bronze'}, {'name': 'Motor_Mount', 'qty': 2, 'material': 'AL 6061-T6'} ] } return bom_data # Export to CSV bom = extract_bom("Linear_Actuator_Main.sldasm") with open('bom_export.csv', 'w', newline='') as f: writer = csv.DictWriter(f, fieldnames=['name', 'qty', 'material']) writer.writeheader() writer.writerows(bom['components']) ``` ## Export Workflows ### Convert to Neutral Formats For CNC programming or FEA analysis: **SolidWorks GUI Method:** 1. File → Save As 2. Select format: `.STEP` (AP214 for machining), `.IGES`, `.STL` 3. Options → Check "Export as one file" for assemblies 4. Confirm face normals are outward-pointing **Automated Export (SolidWorks API - VBA Example):** ```vba Sub ExportToSTEP() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim filePath As String Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc filePath = "C:\Export\" & swModel.GetTitle & ".STEP" ' Export with AP214 protocol swModel.SaveAs3 filePath, 0, 0 End Sub ``` ### Python Automation with pywin32 ```python import win32com.client import os def export_part_to_step(sldprt_path, output_dir): """ Automate SolidWorks export using Windows COM interface Requires SolidWorks installed and pywin32 package """ sw = win32com.client.Dispatch("SldWorks.Application") sw.Visible = True # Open document doc = sw.OpenDoc(sldprt_path, 1) # 1 = Part document # Set STEP export options output_path = os.path.join(output_dir, os.path.basename(sldprt_path).replace('.SLDPRT', '.STEP')) # Save as STEP AP214 doc.SaveAs(output_path) sw.CloseDoc(doc.GetTitle()) return output_path # Usage export_part_to_step( "Parts/Sprockets/Double_Pitch_40_Bore.sldprt", "/export/cnc_models/" ) ``` ## Configuration Management ### Parametric Modification ```javascript // Example: Modifying global variables programmatically // (SolidWorks API - JavaScript via Node.js with edge-js) const edge = require('edge-js'); const modifyParameter = edge.func(` async (input) => { var swApp = (SldWorks.SldWorks)System.Activator.CreateInstance( System.Type.GetTypeFromProgID("SldWorks.Application")); var doc = swApp.ActiveDoc; // Access equation manager var eqnMgr = doc.GetEquationMgr(); // Update global variable (e.g., gear module) int index = eqnMgr.FindEquation("\"Module\""); eqnMgr.SetEquationValue(index, (double)input.value); doc.ForceRebuild3(true); return "Parameter updated"; } `); modifyParameter({ value: 2.5 }, (error, result) => { console.log(result); // "Parameter updated" }); ``` ### Design Table Templates Create custom configurations: ```html <!-- Design Table in Excel format embedded in .SLDPRT --> <table> <tr> <th>Configuration</th> <th>Bore_Diameter@Sketch1</th> <th>Hub_Length@Boss-Extrude1</th> <th>Material</th> </tr> <tr> <td>Config_12mm</td> <td>12</td> <td>30</td> <td>Steel_1045</td> </tr> <tr> <td>Config_1/2in</td> <td>0.5in</td> <td>1.25in</td> <td>Aluminum_6061</td> </tr> </table> ``` ## Common Patterns ### Pattern 1: Rapid Prototyping Workflow ```bash # 1. Select base part cd Parts/Sprockets/ # 2. Open in SolidWorks # File: Double_Pitch_40_Bore.sldprt # 3. Modify design table for your shaft size # Right-click Design Table → Edit Table # 4. Export to 3D printer format # File → Save As → .STL # Resolution: Fine (0.01mm deviation) # 5. Generate 2D drawing for documentation # Make Drawing from Part → Template: ANSI_B ``` ### Pattern 2: Assembly Integration ```python # Workflow for integrating vault parts into custom assembly def integrate_vault_part(vault_part_path, custom_assembly_path): """ Add a vault component to your custom assembly """ steps = [ "1. Open your target assembly in SolidWorks", "2. Insert → Component → Existing Part/Assembly", f"3. Browse to: {vault_part_path}", "4. Place component at desired location", "5. Add mates: Concentric (shaft to bore), Coincident (faces)", "6. Verify clearances with Interference Detection" ] return "\n".join(steps) print(integrate_vault_part( "Parts/Sprockets/Double_Pitch_40_Bore.sldprt", "MyProject/CustomGearbox.sldasm" )) ``` ### Pattern 3: Material Library Linkage ```html <!-- Custom material XML for SolidWorks material database --> <material name="AISI_1045_Normalized"> <density>7850</density> <!-- kg/m³ --> <elastic_modulus>200000</elastic_modulus> <!-- MPa --> <poisson_ratio>0.29</poisson_ratio> <yield_strength>530</yield_strength> <!-- MPa --> <thermal_expansion>11.5e-6</thermal_expansion> <!-- /°C --> </material> ``` ## Troubleshooting ### Issue: File Won't Open **Cause**: SolidWorks version mismatch (file created in newer version) **Solution**: ```bash # Check SolidWorks version required # Look in file properties or README # Option 1: Update SolidWorks to 2021+ # Option 2: Request STEP export from repository maintainer ``` ### Issue: Missing References in Assembly **Cause**: External component paths broken **Solution**: ```python # Fix broken references def fix_assembly_references(assembly_path): """ Update file paths for moved components """ print("In SolidWorks:") print("1. File → Find References") print("2. Browse to new component locations") print("3. Save assembly to update paths") print("Alternative: Use Pack and Go to collect all files") fix_assembly_references("Assemblies/Linear_Actuator/Linear_Actuator_Main.sldasm") ``` ### Issue: Design Table Not Updating **Cause**: Excel link broken or cell formulas incorrect **Solution**: ```vba ' Rebuild design table Sub RefreshDesignTable() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swDesignTable As SldWorks.DesignTable Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swDesignTable = swModel.GetDesignTable ' Force update swDesignTable.Edit True swDesignTable.UpdateModel End Sub ``` ### Issue: Export File Size Too Large **Cause**: Unnecessary detail in STL/STEP export **Solution**: ```bash # Reduce file size for exports # SolidWorks → Tools → Options → Export # STL Settings: # Resolution: Coarse (0.1mm for prototypes) # Binary format: YES (smaller than ASCII) # STEP Settings: # Protocol: AP203 (simpler than AP214 for viewing) # Spline to polyline: YES (reduces complexity) ``` ## Advanced Usage ### FEA Preparation ```python # Prepare models for Finite Element Analysis def prepare_for_fea(part_path): """ Export with mid-surface extraction for shell elements """ instructions = { 'sheet_metal_parts': [ 'Insert → Surface → Mid-Surface', 'Select all sheet metal faces', 'Export mid-surface as separate body' ], 'solid_parts': [ 'Simplify geometry: Suppress small fillets', 'Remove cosmetic features', 'Export as Parasolid (.x_t) for solver import' ] } return instructions print(prepare_for_fea("Parts/Gaskets/O-Ring_Housing.sldprt")) ``` ### Batch Processing ```python import os import subprocess def batch_convert_to_pdf(drawings_dir): """ Convert all .SLDDRW files to PDF for manufacturing Requires SolidWorks batch converter or API """ drawings = [f for f in os.listdir(drawings_dir) if f.endswith('.SLDDRW')] for dwg in drawings: input_path = os.path.join(drawings_dir, dwg) output_path = input_path.replace('.SLDDRW', '.PDF') # Using SolidWorks Task Scheduler (command line) cmd = [ 'C:\\Program Files\\SOLIDWORKS\\swScheduler.exe', '/task:ExportFiles', f'/input:{input_path}', f'/output:{output_path}', '/format:PDF' ]
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub