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.

跳到安装

来源信息

仓库
reason-machines/design-skills
最近来源活动
2026年6月30日 16:44
检测到的 SKILL.md 语言
英语
星标
4
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
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' ]
在 GitHub 查看
这个 SKILL.md 很大,SkillsMP 这里只预览前一段内容。 在 GitHub 查看