├── test-vrml ├── readme.txt └── assieme_leg-fc.wrl ├── cadquery ├── FCAD_script_generator │ ├── jst │ │ ├── .gitignore │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── create_model-EH.bat │ │ ├── create_model-PH.bat │ │ ├── create_model-XH.bat │ │ ├── create_model-XH.sh │ │ └── create_model.sh │ ├── molex │ │ ├── .gitignore │ │ ├── launch-cq-molex-export.bat │ │ ├── launch-cq-molex.sh │ │ └── README.adoc │ ├── BGA_packages │ │ ├── .gitignore │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── todo.md │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── Box_Headers │ │ ├── .gitignore │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── todo.md │ │ ├── create_model.sh │ │ ├── create_model-example.bat │ │ ├── cq_parameters.py │ │ └── README.adoc │ ├── Capacitor_THT │ │ ├── .gitignore │ │ ├── create_model-all.bat │ │ └── create_model-example.bat │ ├── CP_Tantalum_SMD │ │ ├── .gitignore │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── CP_Tantalum_THT │ │ ├── .gitignore │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── phoenix_contact │ │ ├── .gitignore │ │ ├── launch-cq-phoenix-export.bat │ │ ├── launch-cq-phoenix-export_all_2pin.bat │ │ ├── launch-cq-phoenix-export.sh │ │ ├── README_WHY_2_main_generator.md │ │ ├── cq_models │ │ │ └── cq_helpers.py │ │ ├── config_phoenix_KLCv2.0.yaml │ │ ├── config_phoenix_KLCv3.0.yaml │ │ └── cq_parameters.py │ ├── GW_QFP_SOIC_SSOP_TSSOP_SOT │ │ ├── .gitignore │ │ ├── create_model-all.bat │ │ ├── create_model-all-QFP.bat │ │ ├── create_model-all-SOT.bat │ │ ├── create_model-all-SOIC.bat │ │ ├── create_model-all-SSOP.bat │ │ ├── create_model.bat │ │ ├── create_model-all-Diodes.bat │ │ ├── create_model-all-TSSOP.bat │ │ ├── todo.md │ │ ├── Params.py │ │ ├── cq_parameters_tssop_maui.py │ │ └── cq_parameters_ssop_maui.py │ ├── Relay_THT │ │ └── README.txt │ ├── Varistor │ │ └── README.txt │ ├── Converter_ACDC │ │ └── README.txt │ ├── Converter_DCDC │ │ ├── README.txt │ │ └── launch-cq.sh │ ├── Valves │ │ └── README.adoc │ ├── Buzzer_Beeper │ │ ├── README.adoc │ │ └── cq_parameters.py │ ├── parametric-SOIC.png │ ├── Potentiometer_THT │ │ ├── todo.md │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── parametric-qfn-chips.png │ ├── parametric-qfp-chips.png │ ├── parametric-soic-chips.png │ ├── parametric-sot-chips.png │ ├── _screenshots │ │ ├── Resistors_SMD.png │ │ ├── Capacitors_SMD.png │ │ ├── Capacitors_SMD_Elec.png │ │ └── Capacitors_Tantalum_SMD.png │ ├── _tools │ │ ├── resistor-wrong-BOP.zip │ │ ├── config │ │ │ ├── connector_config_KLCv2.yaml │ │ │ ├── capacitor_config_KLCv3.yaml │ │ │ └── connector_config_KLCv3.yaml │ │ ├── cq_helpers.py │ │ ├── cqToolsExceptions.py │ │ └── checkBOP-example.py │ ├── kicadStepUp-starter-Guide.pdf │ ├── parametric-chip-capacitors.png │ ├── parametric-chip-resistors.png │ ├── TerminalBlock_Phoenix │ │ ├── image.png │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── parametric-aluminum-capacitors.png │ ├── parametric-tantalum-capacitors.png │ ├── FC-script-generator-starter-Guide.pdf │ ├── Molex_5569 │ │ ├── create_model-all.bat │ │ └── cq_parameters.py │ ├── 4UCON_17809 │ │ ├── create_model.bat │ │ ├── create_model.sh │ │ └── cq_models │ │ │ └── conn_4ucon_global_params.py │ ├── DIP_parts │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── list_model-all.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── TO_SOT_Packages_SMD_custom │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ └── README.md │ ├── Conn_PinSocket │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── list_model-all.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ └── main_generator.py │ ├── Resistor_THT │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ ├── todo.md │ │ ├── create_model.sh │ │ └── create_model.bat │ ├── RF_Antenna_Chip_SMD │ │ ├── check-log.md │ │ ├── create_model.bat │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ └── cq_parameters.yaml │ ├── Flat_Pin_packages │ │ ├── create_model-all.bat │ │ ├── create_model-all-SOT.bat │ │ ├── create_model-example.bat │ │ ├── create_model-all-Diodes.bat │ │ ├── create_model.bat │ │ ├── todo.md │ │ └── create_model.sh │ ├── C_Chip_SMD │ │ ├── todo.md │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ ├── cq_parameters.yaml │ │ └── README.adoc │ ├── LED_SMD │ │ ├── create_model.bat │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── L_Chip_SMD │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ ├── cq_parameters.yaml │ │ └── README.adoc │ ├── CP_Radial_SMD │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ └── cq_parameters.yaml │ ├── CP_Radial_THT │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── DIP_packages │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── Directfet_SMD │ │ ├── create_model.bat │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ └── README.adoc │ ├── Inductors_SMD │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model-example.bat │ │ ├── create_model.bat │ │ ├── create_model.sh │ │ └── README.adoc │ ├── QFN_packages │ │ ├── todo.md │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── create_model-allDiodes.bat │ │ ├── create_model-allQFN.bat │ │ ├── create_model.sh │ │ └── create_model-example.bat │ ├── Resistor_SMD │ │ ├── create_model.bat │ │ ├── create_model-all.bat │ │ ├── create_model.sh │ │ └── create_model-example.bat │ ├── diodes_SMx_SMD │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ ├── create_model.sh │ │ └── cq_parameters.py │ ├── WIP │ │ ├── create_model-molded-all.bat │ │ ├── create_model-flat-pins.bat │ │ ├── create_model-molded.bat │ │ ├── README.md │ │ └── Housings_DFN_QFN.pretty │ │ │ ├── DFN-6-1EP_2x2mm_Pitch0.5mm.kicad_mod │ │ │ └── DFN-6-1EP_2x2mm_Pitch0.65mm.kicad_mod │ ├── resistors_array_SMD │ │ ├── todo.md │ │ ├── create_model-all.bat │ │ ├── create_model.bat │ │ ├── create_model-example.bat │ │ └── create_model.sh │ ├── Standoff_FF_MF │ │ ├── todo.md │ │ ├── create_model.sh │ │ ├── create_model-example.bat │ │ ├── create_model-all.bat │ │ └── create_model.bat │ ├── Connector_PinHeader │ │ ├── create_model-example.bat │ │ ├── launch-cq-Connector_PinHeader │ │ └── launch-cq-Connector_PinHeader.sh │ ├── todo.md │ ├── Fuse │ │ ├── cq_parameters_SMD.yaml │ │ └── README_SMD.adoc │ ├── Button_Switch_Nidec │ │ ├── README.md │ │ └── main_generator.py │ ├── Crystal │ │ └── cq_parameters.py │ ├── Conn_Stocko │ │ └── cq_parameters.yaml │ ├── Connector_Wago_734 │ │ └── README.md │ ├── Altech │ │ └── cq_parameters.py │ ├── Button_Switch_Tactile_SMD_THT │ │ └── README.md │ ├── Battery │ │ ├── cq_Keystone_2993.py │ │ ├── battery_common.py │ │ ├── cq_Seiko_MSXXXX.py │ │ └── battery_caseBX0036.py │ └── exportVRML │ │ └── exportPartToVRMLwMaterials.FCMacro ├── launch-cq.bat ├── README.txt └── cq-ex2.FCMacro ├── reference-block-imported.jpg ├── .gitignore ├── exportVRMLwColors ├── Module_AI-Thinkerer-ESP07.mp4 ├── exportPartToVRMLwMaterials.FCMacro ├── kicad-StepUp-MCAD-collaboration.jpg ├── exportPartToVRMLwMaterials-dev.FCMacro ├── exportPartToVRMLwMaterials-old.FCMacro ├── kicad-stepup-armory-3D-realistic-rendering.png ├── kicad-stepup-crazyflie-3D-realistic-rendering.png ├── crazyflie-electronics-materials-vrml-no-warnings.png ├── crazyflie-electronics-materials-vrml-no-warnings-kicad-OpenGL.png ├── crazyflie-electronics-materials-vrml-no-warnings-view3dscene.png ├── crazyflie-electronics-materials-vrml-no-warnings-kicad-OpenGL-bot.png ├── crazyflie-electronics-materials-vrml-no-warnings-kicad-Raytracing.png └── Cube-colored.wrl └── README.md /test-vrml/readme.txt: -------------------------------------------------------------------------------- 1 | added some vrml FreeCAD exported files 2 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/molex/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/BGA_packages/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Capacitor_THT/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_SMD/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_THT/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/.gitignore: -------------------------------------------------------------------------------- 1 | *.3dshapes 2 | check-log.md 3 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Relay_THT/README.txt: -------------------------------------------------------------------------------- 1 | ...../bin/FreeCAD.exe main_generator.py -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Varistor/README.txt: -------------------------------------------------------------------------------- 1 | ...../bin/FreeCAD.exe main_generator.py -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Converter_ACDC/README.txt: -------------------------------------------------------------------------------- 1 | ...../bin/FreeCAD.exe main_generator.py -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Converter_DCDC/README.txt: -------------------------------------------------------------------------------- 1 | ...../bin/FreeCAD.exe main_generator.py -------------------------------------------------------------------------------- /reference-block-imported.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/reference-block-imported.jpg -------------------------------------------------------------------------------- /test-vrml/assieme_leg-fc.wrl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/test-vrml/assieme_leg-fc.wrl -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.[fF][cC][sS][tT][dD]1 2 | *.[wW][rR][lL] 3 | *.[sS][tT][eE][pP] 4 | *.[fF][cC][sS][tT][dD] 5 | *.[pP][yY][cC] 6 | *.DS_Store 7 | *.bak 8 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Valves/README.adoc: -------------------------------------------------------------------------------- 1 | ...../bin/FreeCAD.exe main_generator.py 2 | or 3 | ...../bin/FreeCAD.exe main_generator.py all 4 | 5 | -------------------------------------------------------------------------------- /exportVRMLwColors/Module_AI-Thinkerer-ESP07.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/Module_AI-Thinkerer-ESP07.mp4 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Buzzer_Beeper/README.adoc: -------------------------------------------------------------------------------- 1 | ...../bin/FreeCAD.exe main_generator.py 2 | or 3 | ...../bin/FreeCAD.exe main_generator.py all 4 | 5 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-SOIC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-SOIC.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Potentiometer_THT/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | -------------------------------------------------------------------------------- /exportVRMLwColors/exportPartToVRMLwMaterials.FCMacro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/exportPartToVRMLwMaterials.FCMacro -------------------------------------------------------------------------------- /exportVRMLwColors/kicad-StepUp-MCAD-collaboration.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/kicad-StepUp-MCAD-collaboration.jpg -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-qfn-chips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-qfn-chips.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-qfp-chips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-qfp-chips.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-soic-chips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-soic-chips.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-sot-chips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-sot-chips.png -------------------------------------------------------------------------------- /exportVRMLwColors/exportPartToVRMLwMaterials-dev.FCMacro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/exportPartToVRMLwMaterials-dev.FCMacro -------------------------------------------------------------------------------- /exportVRMLwColors/exportPartToVRMLwMaterials-old.FCMacro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/exportPartToVRMLwMaterials-old.FCMacro -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_screenshots/Resistors_SMD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/_screenshots/Resistors_SMD.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/resistor-wrong-BOP.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/_tools/resistor-wrong-BOP.zip -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/kicadStepUp-starter-Guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/kicadStepUp-starter-Guide.pdf -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-chip-capacitors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-chip-capacitors.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-chip-resistors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-chip-resistors.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TerminalBlock_Phoenix/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/TerminalBlock_Phoenix/image.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_screenshots/Capacitors_SMD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/_screenshots/Capacitors_SMD.png -------------------------------------------------------------------------------- /exportVRMLwColors/kicad-stepup-armory-3D-realistic-rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/kicad-stepup-armory-3D-realistic-rendering.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-aluminum-capacitors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-aluminum-capacitors.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/parametric-tantalum-capacitors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/parametric-tantalum-capacitors.png -------------------------------------------------------------------------------- /cadquery/launch-cq.bat: -------------------------------------------------------------------------------- 1 | ::taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" cq-ex2.FCMacro 7 | 8 | pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/FC-script-generator-starter-Guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/FC-script-generator-starter-Guide.pdf -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_screenshots/Capacitors_SMD_Elec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/_screenshots/Capacitors_SMD_Elec.png -------------------------------------------------------------------------------- /exportVRMLwColors/kicad-stepup-crazyflie-3D-realistic-rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/kicad-stepup-crazyflie-3D-realistic-rendering.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_screenshots/Capacitors_Tantalum_SMD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/cadquery/FCAD_script_generator/_screenshots/Capacitors_Tantalum_SMD.png -------------------------------------------------------------------------------- /exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Molex_5569/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py 7 | ::pause -------------------------------------------------------------------------------- /exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-kicad-OpenGL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-kicad-OpenGL.png -------------------------------------------------------------------------------- /exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-view3dscene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-view3dscene.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 7 | 8 | ::pause 9 | -------------------------------------------------------------------------------- /exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-kicad-OpenGL-bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-kicad-OpenGL-bot.png -------------------------------------------------------------------------------- /exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-kicad-Raytracing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easyw/kicad-3d-models-in-freecad/master/exportVRMLwColors/crazyflie-electronics-materials-vrml-no-warnings-kicad-Raytracing.png -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/4UCON_17809/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" main_generator.py 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | 8 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_parts/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py %1 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TO_SOT_Packages_SMD_custom/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" DPAK_export.py 7 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_PinSocket/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py %1 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_parts/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py all 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_parts/list_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py list 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | "d:\FreeCAD_015\bin\freecad" main_generator.py 7 | ::pause 8 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_THT/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" main_generator.py all 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/molex/launch-cq-molex-export.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.15\bin\freecad" main_generator.py 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_PinSocket/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py all 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_PinSocket/list_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py list 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model-EH.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" main_generator.py series=EH 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model-PH.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" main_generator.py series=PH 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model-XH.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" main_generator.py series=XH 7 | -------------------------------------------------------------------------------- /cadquery/README.txt: -------------------------------------------------------------------------------- 1 | Very First attempt to use CadQuery ... useful for be comfortable with the library 2 | Note: cadquery-freecad-module required 3 | 4 | to run the demo: 5 | Linux: 6 | freecad cq-ex2.FCMacro 7 | 8 | windows: 9 | c:\FreeCAD\bin\freecad cq-ex2.FCMacro -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_THT/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_Array_SIP 8 | 9 | :: pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/launch-cq-phoenix-export.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" export_conn_phoenix.py 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all-QFP.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=qfp 7 | 8 | ::pause 9 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all-SOT.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=sot 7 | 8 | ::pause 9 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all-SOIC.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=soic 7 | 8 | ::pause 9 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all-SSOP.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=ssop 7 | 8 | ::pause 9 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_parts/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py PinSocket_1x02_P1.27mm_Vertical 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_PinSocket/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "C:\Program Files\FreeCAD 0.16\bin\FreeCAD.exe" main_generator.py PinSocket_1x02_P1.27mm_Vertical 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/launch-cq-phoenix-export_all_2pin.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start /b "" "C:\Program Files\FreeCAD 0.15\bin\freecad" export_conn_phoenix.py filter=*01x02* 7 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/check-log.md: -------------------------------------------------------------------------------- 1 | 2 | ## Checking Johanson_2450AT18x100 3 | - Union check: [ pass ] 4 | - Geometry check: [ pass ] 5 | 6 | ## Checking Johanson_2450AT43F0100 7 | - Union check: [ pass ] 8 | - Geometry check: [ pass ] 9 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | "d:\FreeCAD_015\bin\freecad" main_generator.py allDiodes 7 | "d:\FreeCAD_015\bin\freecad" main_generator.py allSOT 8 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 10 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/LED_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/LED_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/L_Chip_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/BGA_packages/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_THT/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_packages/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Directfet_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Directfet_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Inductors_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/LED_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/L_Chip_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/L_Chip_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_THT/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/diodes_SMx_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_THT/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_THT/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_packages/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Directfet_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Inductors_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/LED_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_0402 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Potentiometer_THT/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TerminalBlock_Phoenix/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/WIP/create_model-molded-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator_molded.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/diodes_SMx_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/resistors_array_SMD/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py CP_Elec_4x53 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_THT/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py L35_D12.5_p05 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_THT/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py L35_D12.5_p05 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_packages/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py DIP-8_W7.62mm 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Directfet_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Inductors_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Potentiometer_THT/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Standoff_FF_MF/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD stable 0.18 (best for step single object result) 3 | - [x] CadQuery 1.2.0 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools 8 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/diodes_SMx_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py D_SMA_Standard 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/resistors_array_SMD/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/resistors_array_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_0402 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py CP_Elec_4x53 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Capacitor_THT/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_packages/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py DIP-8_W7.62mm 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/create_model-all-SOT.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py allSOT 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py SOD-323F 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/resistors_array_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py R_0402 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/4UCON_17809/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | freecad main_generator.py 10 | 11 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_THT/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py L35_D12.5_p05 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/create_model-all-Diodes.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py allDiodes 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/L_Chip_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py L_01005_0402Metric 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Potentiometer_THT/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py Bourns_3005 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/diodes_SMx_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py D_SMA_Standard 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/BGA_packages/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py BGA-48_6x8_8.0x9.0mm_Pitch0.8mm 7 | start "" "c:\FreeCAD\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/BGA_packages/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 or FreeCAD 0.17 >= 10647 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move FC check version compatibility to a function in cad_tools 7 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py C_01005_0402Metric 7 | :: start "" "d:\FreeCAD\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TerminalBlock_Phoenix/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py all 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TerminalBlock_Phoenix/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | start "" "C:\Program Files\FreeCAD 0.18\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/WIP/create_model-flat-pins.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator-flat-pins.py SC-59 7 | 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/BGA_packages/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py BGA-48_6x8_8.0x9.0mm_Pitch0.8mm 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py CP_Tantalum_Case-B_EIA-3528-21 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py SOIC-8_3.9x4.9mm_Pitch1.27mm 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "c:\FreeCAD\bin\freecad" main_generator.py QFN-28-1EP_6x6mm_Pitch0.65mm 7 | start "" "c:\FreeCAD\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py CP_Tantalum_Case-B_EIA-3528-21 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD_016_6712\bin\freecad" main_generator.py C_01005_0402Metric 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Connector_PinHeader/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD_016\bin\freecad" main_generator.py PinHeader_1xyy_P2.54mm_Vertical 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py SOIC-8_3.9x4.9mm_Pitch1.27mm 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TerminalBlock_Phoenix/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py C_01005_0402Metric 7 | :: start "" "d:\FreeCAD\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Converter_DCDC/launch-cq.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | #FreeCAD main_generator.py 10 | FreeCAD main_generator.py all 11 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all-Diodes.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=diodes 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/molex/launch-cq-molex.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | FreeCAD main_generator.py 10 | #FreeCAD main_generator.py series=5273 11 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/create_model-all-TSSOP.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=tssop 7 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py series=tssop_maui 8 | 9 | ::pause 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model-XH.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | FreeCAD main_generator.py series=XH 10 | #FreeCAD export_conn_jst_xh.py all 11 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py 10 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Directfet_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py 0402 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/LED_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py R_0402 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/L_Chip_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py 0402 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py allDiodes 7 | start "" "c:\FreeCAD\bin\freecad" main_generator.py allQFN 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: can either use ranges or a list separated by commas 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 2-6 8 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 2,6,10 9 | 10 | 11 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.19 10 | #freecad main_generator.py 0402 11 | freecad main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 or FreeCAD 0.17 >= 10647 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [ ] add footprint_dir case for other fp families 7 | - [x] move FC check version compatibility to a function in cad_tools 8 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/create_model-allDiodes.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py allDiodes 7 | ::start "" "c:\FreeCAD\bin\freecad" main_generator.py allQFN 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/create_model-allQFN.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | ::start "" "c:\FreeCAD\bin\freecad" main_generator.py allDiodes 7 | start "" "c:\FreeCAD\bin\freecad" main_generator.py allQFN 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py R_0402 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py CP_Elec_4x53 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_THT/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py L35_D12.5_p05 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_THT/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py C_Disc_D12.0mm_W4.4mm_P7.75mm 7 | :: C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_packages/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py DIP-8_W7.62mm 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 or FreeCAD 0.17 >= 10647 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [ ] add footprint_dir case for other fp families 7 | - [x] move FC check version compatibility to a function in cad_tools 8 | - [x] move CadQuery version compatibility to a function in cad_tools -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py 0402 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/resistors_array_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py R_0402 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_THT/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py L35_D12.5_p05 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Potentiometer_THT/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py Bourns_3005 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Standoff_FF_MF/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.19 10 | #freecad main_generator.py 254single 1 11 | freecad main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TO_SOT_Packages_SMD_custom/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" DPAK_export.py TO268 7 | ::VSSOP-8_2.3x2mm_Pitch0.5mm 8 | ::SOIC-8_3.9x4.9mm_Pitch1.27mm 9 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 10 | 11 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TerminalBlock_Phoenix/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.19 10 | #freecad main_generator.py 0402 11 | freecad main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/diodes_SMx_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py D_SMA_Standard 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/jst/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py QFN-28-1EP_6x6mm_Pitch0.65mm 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Capacitor_THT/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py series=axial_tht filter=*L12.0mm* 7 | :: C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause 11 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/BGA_packages/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.17 10 | #freecad main_generator.py BGA-48_6x8_8.0x9.0mm_Pitch0.8mm 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Tantalum_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py CP_Tantalum_Case-B_EIA-3528-21 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/DIP_parts/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py PinSocket_1x02_P1.27mm_Vertical 11 | freecad main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Flat_Pin_packages/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py SOIC-8_3.9x4.9mm_Pitch1.27mm 11 | freecad main_generator.py $1 -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.19 10 | #freecad main_generator.py QFN-28-1EP_6x6mm_Pitch0.65mm 11 | freecad main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_PinSocket/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.15 10 | #freecad main_generator.py PinSocket_1x02_P1.27mm_Vertical 11 | freecad main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Connector_PinHeader/launch-cq-Connector_PinHeader: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | #FreeCAD main_generator.py 10 | FreeCAD main_generator.py PinHeader_1xyy_P2.54mm_Vertical 10,17 11 | 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Connector_PinHeader/launch-cq-Connector_PinHeader.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | #FreeCAD main_generator.py 10 | FreeCAD main_generator.py PinHeader_1xyy_P2.54mm_Vertical 10,17 11 | 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/QFN_packages/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD-daily\bin\freecad" main_generator.py QFN-28-1EP_6x6mm_Pitch0.65mm 7 | :: DFN-14-2EP_3x4mm_Pitch0.5mm 8 | :: QFN-28-1EP_6x6mm_Pitch0.65mm 9 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 10 | 11 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_SMD/create_model-example.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator.py R_01005_0402Metric 7 | :: start "" "D:\FreeCAD_016_6712\bin\freecad" main_generator.py R_01005_0402Metric 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 9 | 10 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_THT/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | echo Best using FC 0.18 10 | #freecad main_generator.py R_Axial_Power_L60.0mm_W14.0mm_P66.04mm 11 | FreeCAD main_generator.py $1 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/cq_parameters.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | # Dimensions are from Jedec MS-026D document. 10 | 11 | ## file of parametric definitions 12 | 13 | ## parameters inside main_generator.py -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/WIP/create_model-molded.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "c:\FreeCAD\bin\freecad" main_generator_molded.py DFN-6-1EP_2x2mm_Pitch0.5mm 7 | ::QFN-12-1EP_3x3mm_Pitch0.5mm 8 | :: QFN-20-1EP_3x4mm_Pitch0.5mm 9 | ::QFN-12-1EP_3x3mm_Pitch0.5mm 10 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 11 | 12 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/launch-cq-phoenix-export.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Absolute path to this script. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f $0) 5 | # Absolute path this script is in. /home/user/bin 6 | SCRIPTPATH=`dirname $SCRIPT` 7 | echo $SCRIPTPATH 8 | cd $SCRIPTPATH 9 | #FreeCAD export_conn_phoenix.py MSTB_01x02_GF_5.00mm_MH 10 | FreeCAD export_conn_phoenix.py all 11 | #FreeCAD export_conn_phoenix.py MC_01x04_GF_3.5mm_MH 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Inductors_SMD/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 0402 7 | ::start "" "c:\FreeCAD-daily\bin\freecad" main_generator.py L_Wuerth_MAPI-1610 8 | start "" "c:\FreeCAD\bin\freecad" main_generator.py L_Wuerth_MAPI-1610 9 | ::start "" "c:\FreeCAD\bin\freecad" main_generator.py %1 10 | 11 | ::pause 12 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/todo.md: -------------------------------------------------------------------------------- 1 | # REQUIREMENTS 2 | - [x] FreeCAD 0.15 (best for step single object result) 3 | - [x] CadQuery 0.5.2 4 | 5 | # To do 6 | - [x] move all scripts to FreeCAD CadQuery 0.3.0 7 | - [x] gradually update new VRML exporter code to all generators 8 | 9 | ## script list 10 | - [x] qfn 11 | - [x] cq 0.3.0 12 | - [x] VRML small size & with materials 13 | - [x] improve CQ check (Gui.Command w/o CQ) 14 | - [ ] cq 0.5.2 for molded models 15 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/WIP/README.md: -------------------------------------------------------------------------------- 1 | # Work In Progress folder: 2 | 3 | new features: 4 | * added importing fp to mate case through kicad StepUp Mod (release >= 4.1.2.9) 5 | * FC 0.17 >= 10647 6 | * CadQuery 0.52 7 | 8 | to be completed: 9 | * molded packages 10 | * flat-pins SOD 11 | 12 | 13 | added in molded the option to write only needed parameters (i.e. molded None default, True option) 14 | 15 | 16 | ### NB for loading fp a folder with kicad_mod files needs to be placed as sub-folder 17 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/README_WHY_2_main_generator.md: -------------------------------------------------------------------------------- 1 | The orignal main_generator.py is an old incomplete file that needs to be updated 2 | Some files are missing when trying to execute them 3 | 4 | the two new files 5 | main_generator2.py and it's corresponing data file, cq_parameters.py is of earlier date. 6 | Becaosue the missing files for the original main_generator.py, it could not be fixed so the new phoenix files 7 | was placed in main_generator2.py and cq_parameters.py until the "original" files are fixed 8 | 9 | 10 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/config/connector_config_KLCv2.yaml: -------------------------------------------------------------------------------- 1 | fp_name_format_string: '{man:s}_{series:s}_{mpn:s}_{pins_per_row:02d}xPitch{pitch:.2f}mm_{orientation:s}' 2 | orientation_options: 3 | H: 'Horizontal' 4 | V: 'Vertical' 5 | entry_direction: 6 | H: 'top entry' 7 | V: 'side entry' 8 | 9 | #keyword_fp_string: 'connector {man:s} {series:s} {mpn:s} {entry:s} {orientation:s}' 10 | keyword_fp_string: 'connector {man:s} {series:s} {entry:s}' 11 | 12 | #lib_name_format_string: 'Conn_{man:s}_{series:s}' 13 | lib_name_format_string: 'Connectors_{man:s}' 14 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/RF_Antenna_Chip_SMD/cq_parameters.yaml: -------------------------------------------------------------------------------- 1 | Johanson_2450AT18x100: 2 | length: 3.2 3 | width: 1.6 4 | height: 1.3 5 | pin_band: 0.5 6 | pin_thickness: 0.001 7 | edge_fillet: 'auto' 8 | rotation: 0 9 | pm: 0.5 10 | source: 'https://www.johansontechnology.com/datasheets/2450AT18A100/2450AT18A100.pdf' 11 | Johanson_2450AT43F0100: 12 | length: 6.0 13 | width: 2.0 14 | height: 1.2 15 | pin_band: 0.5 16 | pin_thickness: 0.001 17 | edge_fillet: 'auto' 18 | rotation: 0 19 | pm: 0.75 20 | source: 'https://www.johansontechnology.com/datasheets/2450AT43F0100/2450AT43F0100.pdf' 21 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/4UCON_17809/cq_models/conn_4ucon_global_params.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | import sys 6 | 7 | 8 | lib_name="Connectors_4UCON" 9 | out_dir=lib_name+".pretty"+os.sep 10 | packages_3d=lib_name+".3dshapes"+os.sep 11 | 12 | manufacturer_tag = "4ucon " 13 | 14 | def generate_footprint_name(series_name, num_pins, pin_pitch): 15 | name = '4UCON_{:s}_02x{:02d}x{:.2f}mm_Vertical'.format(series_name, num_pins // 2, pin_pitch) 16 | return name 17 | 18 | """ 19 | return "4UCON_" + series_name + "_02x"+ ('%02d' % num_pins / 2)\ 20 | + "x" + ('%.2f' % pin_pitch) + "mm_Vertical" 21 | """ 22 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/config/capacitor_config_KLCv3.yaml: -------------------------------------------------------------------------------- 1 | axial_fp_name: '{prefix:s}_Axial_L{length:.1f}mm_D{diameter:.1f}mm_P{pitch:.2f}mm_{orientation:s}' 2 | 3 | # Example: C_Rect_L10.0mm_W2.5mm_P7.50mm_MKS4 4 | rect_fp_name: '{prefix:s}_Rect_L{length:.1f}mm_W{width:.1f}mm_P{pitch:.2f}mm{suffix:s}' 5 | 6 | 7 | # Example: C_Disc_D12.0mm_W4.4mm_P7.75mm 8 | disc_fp_name: '{prefix:s}_Disc_D{diameter:.1f}mm_W{width:.1f}mm_P{pitch:.2f}mm{suffix:s}' 9 | orientation_options: 10 | H: 'Horizontal' 11 | V: 'Vertical' 12 | prefix: 13 | C: 'C' 14 | CP: 'CP' 15 | 16 | 17 | #lib_name_format_string: 'Conn_{man:s}_{series:s}' 18 | lib_name_format_string: 'Capacitor{suffix:s}' 19 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Standoff_FF_MF/create_model-example.bat: -------------------------------------------------------------------------------- 1 | :: taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | 7 | start "" "c:\FreeCAD\bin\freecad" main_generator.py all 8 | ::M3x15_MF_D5.5 9 | ::all 10 | ::M3x9_FF_D5.5 11 | 12 | :: start "" "c:\FreeCAD\bin\freecad" main_generator.py FF_9.0mm_D5.0 13 | :: start "" "c:\FreeCAD\bin\freecad" main_generator.py angled-254-dual 2 14 | 15 | :: start "" "c:\FreeCAD\bin\freecad" main_generator.py 254-single 3 16 | ::start "" "c:\FreeCAD\bin\freecad" main_generator.py 254-single 1-2 17 | 18 | :: Pin_Header_Straight_1xyy_Pitch2.54mm 19 | :: 254single 1 20 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 21 | 22 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Inductors_SMD/create_model.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Working example with FreeCAD_0.19-16854-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage" 4 | # Absolute path to this script. /home/user/bin/foo.sh 5 | SCRIPT=$(readlink -f $0) 6 | # Absolute path this script is in. /home/user/bin 7 | SCRIPTPATH=`dirname $SCRIPT` 8 | echo $SCRIPTPATH 9 | cd $SCRIPTPATH 10 | echo "Best using FC >= 0.18" 11 | #freecad main_generator.py 0402 12 | ## freecad main_generator.py $1 13 | 14 | if [ -z $1 ]; #missing parameter 15 | then ~/Downloads/FreeCAD_0.19-16854-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage main_generator.py L_Vishay_IHSM-7832 # echo Ciao 16 | else ~/Downloads/FreeCAD_0.19-16854-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage main_generator.py $1 # echo bao 17 | fi 18 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Resistor_THT/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254single 1 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254single 1-10 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254dual 1-10 9 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 200single 1-10 10 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 200dual 1-10 11 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 127single 1-10 12 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 127dual 1-10 13 | ::pause 14 | 15 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 16 | 17 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Standoff_FF_MF/create_model-all.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py all 7 | 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254single 1-10 9 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254dual 1-10 10 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 200single 1-10 11 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 200dual 1-10 12 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 127single 1-10 13 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 127dual 1-10 14 | ::pause 15 | 16 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 17 | 18 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Standoff_FF_MF/create_model.bat: -------------------------------------------------------------------------------- 1 | taskkill -im freecad.exe /f 2 | @echo OFF 3 | echo cadquery-freecad-module required 4 | @echo ON 5 | cd %~p0 6 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254single 1 7 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254single 1-10 8 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 254dual 1-10 9 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 200single 1-10 10 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 200dual 1-10 11 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 127single 1-10 12 | :: start "" "d:\FreeCAD_015\bin\freecad" main_generator.py 127dual 1-10 13 | ::pause 14 | 15 | start "" "d:\FreeCAD_015\bin\freecad" main_generator.py %1 16 | 17 | ::pause -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/config/connector_config_KLCv3.yaml: -------------------------------------------------------------------------------- 1 | fp_name_format_string: '{man:s}_{series:s}_{mpn:s}_{num_rows:d}x{pins_per_row:02d}{mount_pin:s}_P{pitch:.2f}mm_{orientation:s}' 2 | fp_name_dual_pitch_format_string: '{man:s}_{series:s}_{mpn:s}_{num_rows:d}x{pins_per_row:02d}{mount_pin:s}_P{pitch_x:.2f}x{pitch_y:.2f}mm_{orientation:s}' 3 | fp_name_unequal_row_format_string: '{man:s}_{series:s}_{mpn:s}_{num_rows:d}Rows-{pins:02d}Pins{mount_pin:s}_P{pitch:.2f}mm_{orientation:s}' 4 | orientation_options: 5 | H: 'Horizontal' 6 | V: 'Vertical' 7 | entry_direction: 8 | H: 'top entry' 9 | V: 'side entry' 10 | 11 | #keyword_fp_string: 'connector {man:s} {series:s} {mpn:s} {entry:s} {orientation:s}' 12 | keyword_fp_string: 'connector {man:s} {series:s} {entry:s}' 13 | 14 | #lib_name_format_string: 'Conn_{man:s}_{series:s}' 15 | lib_name_format_string: 'Connector_{man:s}' 16 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Molex_5569/cq_parameters.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf8 -*- 2 | #!/usr/bin/python 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | # Adapted for Molex 5569 by timtashpulatov 10 | 11 | # file of parametric definitions 12 | 13 | from collections import namedtuple 14 | 15 | destination_dir = "/Connectors_Molex" 16 | 17 | # Parametric Values 18 | # 19 | Params = namedtuple("Params", [ 20 | 'N', # number of pins 21 | 'modelName' # modelName 22 | ]) 23 | 24 | all_params_molex_5569 = { 25 | "5569-2A2": Params( 26 | N=2, 27 | modelName='Molex_5569-2A2' # Model Name 28 | ), 29 | "5569-4A2": Params( 30 | N=4, 31 | modelName='Molex_5569-4A2' # Model Name 32 | ), 33 | "5569-6A2": Params( 34 | N=6, 35 | modelName='Molex_5569-6A2' # Model Name 36 | ), 37 | "5569-8A2": Params( 38 | N=8, 39 | modelName='Molex_5569-8A2' # Model Name 40 | ), 41 | } 42 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/cq_models/cq_helpers.py: -------------------------------------------------------------------------------- 1 | from math import sqrt 2 | 3 | def v_add(p1, p2): 4 | return (p1[0]+p2[0],p1[1]+p2[1]) 5 | 6 | def v_sub(p1, p2): 7 | return (p1[0]-p2[0],p1[1]-p2[1]) 8 | 9 | def get_third_arc_point1(starting_point, end_point): 10 | px = v_sub(end_point, starting_point) 11 | return v_add((px[0]*(1-1/sqrt(2)),px[1]*(1/sqrt(2))),starting_point) 12 | 13 | def get_third_arc_point2(starting_point, end_point): 14 | px = v_sub(end_point, starting_point) 15 | return v_add((px[0]*(1/sqrt(2)),px[1]*(1-1/sqrt(2))),starting_point) 16 | 17 | def add_p_to_chain(chain, rel_point): 18 | chain.append(v_add(chain[len(chain)-1], rel_point)) 19 | 20 | def mirror(chain): 21 | result = [] 22 | for point in chain: 23 | result.append((point[0]*-1,point[1])) 24 | return result 25 | 26 | def poline(points, plane): 27 | sp = points.pop() 28 | plane=plane.moveTo(sp[0],sp[1]) 29 | plane=plane.polyline(points) 30 | return plane 31 | 32 | def union_all(objects): 33 | o = objects[0] 34 | for i in range(1,len(objects)): 35 | o = o.union(objects[i]) 36 | return o 37 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/cq_helpers.py: -------------------------------------------------------------------------------- 1 | from math import sqrt 2 | 3 | def v_add(p1, p2): 4 | return (p1[0]+p2[0],p1[1]+p2[1]) 5 | 6 | def v_sub(p1, p2): 7 | return (p1[0]-p2[0],p1[1]-p2[1]) 8 | 9 | def get_third_arc_point1(starting_point, end_point): 10 | px = v_sub(end_point, starting_point) 11 | return v_add((px[0]*(1-1/sqrt(2)),px[1]*(1/sqrt(2))),starting_point) 12 | 13 | def get_third_arc_point2(starting_point, end_point): 14 | px = v_sub(end_point, starting_point) 15 | return v_add((px[0]*(1/sqrt(2)),px[1]*(1-1/sqrt(2))),starting_point) 16 | 17 | def add_p_to_chain(chain, rel_point): 18 | chain.append(v_add(chain[len(chain)-1], rel_point)) 19 | 20 | def mirror(chain, direction="x"): 21 | result = [] 22 | for point in chain: 23 | if direction=="x": 24 | result.append((point[0]*-1,point[1])) 25 | else: 26 | result.append((point[0],point[1]*-1)) 27 | 28 | return result 29 | 30 | def poline(points, plane): 31 | sp = points.pop() 32 | plane=plane.moveTo(sp[0],sp[1]) 33 | plane=plane.polyline(points) 34 | return plane 35 | 36 | def union_all(objects): 37 | o = objects[0] 38 | for i in range(1,len(objects)): 39 | o = o.union(objects[i]) 40 | return o 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # kicad-3d-models-in-freecad 2 | kicad 3d models in freecad: 3 | this is a repo of 3d models done in freeCAD and exported in STEP and in VRML to be used in kicad 3d-viewer and in kicad StepUp tool 4 | with kicad StepUp it is possible to align the 3d-viewer and the 3d PCB and modules board in STEP, so to be able to obtain a perfectly identical represaentation in kicad 3d-viewer and in FreeCAD or MCAD software. 5 | 6 | The only requirements, different from the actual way of using kicad is to substitute Wings3D with FreeCAD 7 | and, obviously, populate the 3D models with STEP lib... 8 | 9 | The repo will have models starting from a FreeCAD project modeled in mm with a standar origin and orientation 10 | 11 | -----> STEP model exported (union of parts) 12 | 13 | -----> VRML model exported (scaled 1/2.54) 14 | 15 | 16 | # REQUIREMENTS 17 | - [x] FreeCAD 0.17 18 | - [x] CadQuery 1.2.0 19 | 20 | If you would like to share your models, I'll be happy to add these to the 3D repo!!! :) 21 | 22 | thank you for any suggestion and feedback, 23 | 24 | Maurice 25 | 26 | Risk disclaimer 27 | --------------- 28 | 29 | *USE 3D CAD DATA AT YOUR OWN RISK + 30 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 31 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Fuse/cq_parameters_SMD.yaml: -------------------------------------------------------------------------------- 1 | Fuse_0402_1005Metric: 2 | length: 1.0 3 | width: 0.52 4 | height: 0.35 5 | pin_band: 0.2 6 | pin_thickness: 'auto' 7 | edge_fillet: 'auto' 8 | rotation: 0 9 | source: 'https://www.bourns.com/docs/product-datasheets/sf0402f.pdf?sfvrsn=f4e4042e_31' 10 | 11 | Fuse_0603_1608Metric: 12 | length: 1.6 13 | width: 0.8 14 | height: 0.45 15 | pin_band: 0.3 16 | pin_thickness: 'auto' 17 | edge_fillet: 'auto' 18 | rotation: 0 19 | source: 'https://www.bourns.com/docs/product-datasheets/sf0603f.pdf?sfvrsn=9135931_35' 20 | 21 | Fuse_0805_2012Metric: 22 | length: 2.0 23 | width: 1.25 24 | height: 0.45 25 | pin_band: 0.4 26 | pin_thickness: 'auto' 27 | edge_fillet: 'auto' 28 | rotation: 0 29 | source: 'https://www.vishay.com/doc?28747' 30 | 31 | Fuse_1206_3216Metric: 32 | length: 3.2 33 | width: 1.6 34 | height: 0.55 35 | pin_band: 0.5 36 | pin_thickness: 'auto' 37 | edge_fillet: 'auto' 38 | rotation: 0 39 | source: 'https://www.vishay.com/doc?28747' 40 | 41 | Fuse_1210_3225Metric: 42 | length: 3.2 43 | width: 2.5 44 | height: 1.6 45 | pin_band: 0.85 46 | pin_thickness: 'auto' 47 | edge_fillet: 'auto' 48 | rotation: 0 49 | source: 'https://www.bourns.com/docs/product-datasheets/sf-1210sxxxw.pdf?sfvrsn=d73876f6_5' 50 | 51 | 52 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/config_phoenix_KLCv2.0.yaml: -------------------------------------------------------------------------------- 1 | # This holds the configuration information 2 | # using this config file will create KLCv2.x compatible footprints. 3 | 4 | lib_name_format_str: "Connectors_Phoenix" 5 | #lib_name_format_str: "Conn_Phoenix_{series:s}-{style:%s}_{pitch:.2f}" 6 | manufacturer: "PhoenixContact" 7 | 8 | 9 | #fp_name_format_string: '{man:s}_{series:s}_{mpn:s}_{num_pins:02d}x{pitch:.2f}mm_{orientation:s}{flanged:s}{mount_hole:s}' 10 | fp_name_format_string: '{man:s}_{mpn:s}_{num_pins:02d}x{pitch:.2f}mm_{orientation:s}{flanged:s}{mount_hole:s}' 11 | #mpn_format_string: '{subseries:s}_{rating:s}_{num_pins:s}-{style:s}{pitch:s}' 12 | mpn_format_string: '{subseries:s}-{style:s}' 13 | mpn_format_string_description: '{subseries:s}_{rating:s}/{num_pins:d}-{style:s}{pitch:s}' 14 | 3d_model_prefix: '${KISYS3DMOD}/' 15 | #keywords_format_string: 'phoenix_contact connector {mpn:s}{param_name:s}{order_info:s}' 16 | keywords_format_string: 'phoenix_contact connector {param_name:s}' 17 | 18 | orientation_str: ['Vertical', 'Angled'] 19 | flanged_str: ['', '_ThreadedFlange'] 20 | mount_hole_str: ['', '_MountHole'] 21 | 22 | pin_layers: ['*.Cu', '*.Mask'] #, '*.Paste' through hole: no paste! 23 | mount_hole_layers: ['*.Cu', '*.Mask'] 24 | 25 | with_fab_layer : True 26 | inner_details_on_fab : False 27 | courtyard_for_mountscrews : True 28 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/config_phoenix_KLCv3.0.yaml: -------------------------------------------------------------------------------- 1 | # This holds the configuration information 2 | # using this config file will create KLCv2.x compatible footprints. 3 | 4 | #lib_name_format_str: "Conn_Phoenix_{series:s}-{style:%s}_{pitch:.2f}" 5 | lib_name_format_str: "Connector_Phoenix_{series:s}" 6 | manufacturer: "PhoenixContact" 7 | 8 | 9 | #fp_name_format_string: '{man:s}_{series:s}_{mpn:s}_{num_pins:02d}x{pitch:.2f}mm_{orientation:s}{flanged:s}{mount_hole:s}' 10 | fp_name_format_string: '{man:s}_{mpn:s}_{num_rows:d}x{num_pins:02d}_P{pitch:.2f}mm_{orientation:s}{flanged:s}{mount_hole:s}' 11 | 12 | mpn_format_string: '{subseries:s}_{rating:s}_{num_pins:d}-{style:s}{pitch:s}' 13 | mpn_format_string_description: '{subseries:s}_{rating:s}/{num_pins:d}-{style:s}{pitch:s}' 14 | #mpn_format_string: '{subseries:s}-{style:s}' 15 | 3d_model_prefix: '${KISYS3DMOD}/' 16 | #keywords_format_string: 'phoenix_contact connector {mpn:s}{param_name:s}{order_info:s}' 17 | keywords_format_string: 'phoenix_contact connector {param_name:s}' 18 | 19 | orientation_str: ['Vertical', 'Horizontal'] 20 | flanged_str: ['', '_ThreadedFlange'] 21 | mount_hole_str: ['', '_MountHole'] 22 | 23 | pin_layers: ['*.Cu', '*.Mask'] #, '*.Paste' through hole: no paste! 24 | mount_hole_layers: ['*.Cu', '*.Mask'] 25 | 26 | with_fab_layer : True 27 | inner_details_on_fab : False 28 | courtyard_for_mountscrews : True 29 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Button_Switch_Nidec/README.md: -------------------------------------------------------------------------------- 1 | 2 | Following models can be generated: 3 | |3D file| destination dir| 4 | | :--- | :--- | 5 | |Nidec_Copal_SH-7010A|../3Dmodels/Button_Switch_SMD.3dshapes/ 6 | |Nidec_Copal_SH-7010B|../3Dmodels/Button_Switch_SMD.3dshapes/ 7 | |Nidec_Copal_SH-7010C|../3Dmodels/Button_Switch_THT.3dshapes/ 8 | |Nidec_Copal_SH-7040B|../3Dmodels/Button_Switch_SMD.3dshapes/ 9 | | | 10 | ## Running the scripts 11 | 12 | 13 | to run the script just move to the scripts dir and do: 14 | 15 | `..../bin/freecad.exe main_generator.py option` 16 | 17 | where *option* is one of *| all | allsmd | list | variant | filter* 18 | - *all* - generate all models 19 | - *allsmd* - generate all SMD models 20 | - *list* - list all model names 21 | - *variant* - a variant from the generic names found in in cq_parameters.py (`variableParams.base_params`) 22 | - *filter* - a reqular expression matching model names in the models list above 23 | 24 | examples in win: 25 | `c:\freecad\bin\freecad main_generator.py 7010B` 26 | `c:\freecad\bin\freecad main_generator.py *701*` 27 | `c:\freecad\bin\freecad main_generator.py all` 28 | 29 | in linux: 30 | `freecad ./main_generator.py 7040B` 31 | `freecad ./main_generator.py Nidec*` 32 | `freecad ./main_generator.py allsmd` 33 | 34 | 35 | When running the script with no arguments, all models will be generated. 36 | 37 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/Params.py: -------------------------------------------------------------------------------- 1 | from collections import namedtuple 2 | 3 | Params = namedtuple("Params", [ 4 | 'the', # body angle in degrees 5 | 'tb_s', # top part of body is that much smaller 6 | 'c', # pin thickness, body center part height 7 | 'R1', # pin upper corner, inner radius 8 | 'R2', # pin lower corner, inner radius 9 | 'S', # pin top flat part length (excluding corner arc) 10 | # automatic calculated 'L', # pin bottom flat part length (including corner arc) 11 | 'fp_s', # True for circular pinmark, False for square pinmark (useful for diodes) 12 | 'fp_r', # first pin indicator radius, set to 0.0 to remove first pin indicator 13 | 'fp_d', # first pin indicator distance from edge 14 | 'fp_z', # first pin indicator depth 15 | 'ef', # fillet of edges 16 | 'cc1', # chamfer of the 1st pin corner 17 | 18 | 'D1', # body lenght 19 | 'E1', # body width 20 | 'E', # body overall width 21 | 'A1', # body-board separation 22 | 'A2', # body height 23 | 24 | 'b', # pin width 25 | 'e', # pin (center-to-center) distance 26 | 27 | 'npx', # number of pins along X axis (width) 28 | 'npy', # number of pins along y axis (length) 29 | 'epad', # exposed pad, None, radius as float for circular or the dimensions as tuple: (width, length) for square 30 | 'excluded_pins', #pins to exclude 31 | 'old_modelName', #modelName 32 | 'modelName', #modelName 33 | 'rotation' #rotation if required 34 | ]) 35 | -------------------------------------------------------------------------------- /exportVRMLwColors/Cube-colored.wrl: -------------------------------------------------------------------------------- 1 | #VRML V2.0 utf8 2 | #kicad StepUp wrl exported 3 | 4 | Shape { geometry IndexedFaceSet 5 | { coordIndex [0,1,2,-1,3,0,2,-1] 6 | coord Coordinate { point [0 3.937 0,0 0 0,0 0 3.937,0 3.937 3.937] 7 | }} 8 | appearance Appearance{material Material{diffuseColor 0.666667 0 0 9 | transparency 0}}} 10 | Shape { geometry IndexedFaceSet 11 | { coordIndex [0,1,2,-1,0,2,3,-1] 12 | coord Coordinate { point [3.937 0 3.937,3.937 0 0,3.937 3.937 0,3.937 3.937 3.937] 13 | }} 14 | appearance Appearance{material Material{diffuseColor 0.666667 0.333333 0 15 | transparency 0}}} 16 | Shape { geometry IndexedFaceSet 17 | { coordIndex [0,1,2,-1,3,0,2,-1] 18 | coord Coordinate { point [0 0 0,3.937 0 0,3.937 0 3.937,0 0 3.937] 19 | }} 20 | appearance Appearance{material Material{diffuseColor 1 0 1 21 | transparency 0}}} 22 | Shape { geometry IndexedFaceSet 23 | { coordIndex [0,1,2,-1,0,2,3,-1] 24 | coord Coordinate { point [3.937 3.937 3.937,3.937 3.937 0,0 3.937 0,0 3.937 3.937] 25 | }} 26 | appearance Appearance{material Material{diffuseColor 0.06 0.61 0.78 27 | transparency 0}}} 28 | Shape { geometry IndexedFaceSet 29 | { coordIndex [0,1,2,-1,3,0,2,-1] 30 | coord Coordinate { point [0 0 0,0 3.937 0,3.937 3.937 0,3.937 0 0] 31 | }} 32 | appearance Appearance{material Material{diffuseColor 1 0 0 33 | transparency 0}}} 34 | Shape { geometry IndexedFaceSet 35 | { coordIndex [0,1,2,-1,0,2,3,-1] 36 | coord Coordinate { point [3.937 3.937 3.937,0 3.937 3.937,0 0 3.937,3.937 0 3.937] 37 | }} 38 | appearance Appearance{material Material{diffuseColor 0 0.666667 0 39 | transparency 0}}} 40 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/TO_SOT_Packages_SMD_custom/README.md: -------------------------------------------------------------------------------- 1 | # TO_SOT_Packages_SMD_custom 2 | 3 | This folder contains non-standard and "one off" scripts used to create individual TO or SOT SMD parts. 4 | 5 | 6 | ## DPAK 7 | 8 | Scripts to generate models for the following package types: 9 | - TO252 (DPAK) 10 | - TO263 (D2PAK, DDPAK) 11 | - TO268 (D3PAK) 12 | 13 | ### Usage 14 | 15 | Download and install `kicad-3d-models-in-freecad` from https://github.com/easyw/kicad-3d-models-in-freecad 16 | 17 | Install the following files in the folder `.../kicad-3d-models-in-freecad/cadquery/FCAD_script_generator//`. 18 | 19 | ``` 20 | DPAK_export.py # export script 21 | DPAK_factory.py # model building script 22 | DPAK_config.yaml # model configuration file 23 | ribbon.py # helper class 24 | ``` 25 | 26 | Build and export models for all types: 27 | 28 | ``` 29 | $ freecad ./DPAK_export.py 30 | ``` 31 | 32 | Build and export models for the specified types: 33 | 34 | ``` 35 | $ freecad ./DPAK_export.py TO252 TO268 36 | ``` 37 | 38 | The model configuration file is documented here: https://github.com/hackscribble/kicad-footprint-generator/blob/add_DPAK_script/scripts/TO_SOT_Packages_SMD/DPAK_README.md 39 | 40 | User licence details are configured in `DPAK_export.py`: 41 | 42 | ``` 43 | ########################################################################################## 44 | 45 | # MODEL LICENCE CONFIGURATION 46 | 47 | # Details to be included in the generated models 48 | L.STR_int_licAuthor = "Ray Benitez" 49 | L.STR_int_licEmail = "hackscribble@outlook.com" 50 | 51 | ########################################################################################## 52 | ``` 53 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Buzzer_Beeper/cq_parameters.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | 10 | ## file of parametric definitions 11 | 12 | import collections 13 | from collections import namedtuple 14 | 15 | import FreeCAD, Draft, FreeCADGui 16 | import ImportGui 17 | import FreeCADGui as Gui 18 | 19 | import shaderColors 20 | import exportPartToVRML as expVRML 21 | 22 | ## base parametes & model 23 | import collections 24 | from collections import namedtuple 25 | 26 | # Import cad_tools 27 | import cq_cad_tools 28 | # Reload tools 29 | from cq_cad_tools import reload_lib 30 | reload_lib(cq_cad_tools) 31 | # Explicitly load all needed functions 32 | from cq_cad_tools import FuseObjs_wColors, GetListOfObjects, restore_Main_Tools, \ 33 | exportSTEP, close_CQ_Example, exportVRML, saveFCdoc, z_RotateObject, Color_Objects, \ 34 | CutObjs_wColors, checkRequirements 35 | 36 | # Sphinx workaround #1 37 | try: 38 | QtGui 39 | except NameError: 40 | QtGui = None 41 | # 42 | 43 | try: 44 | # Gui.SendMsgToActiveView("Run") 45 | # from Gui.Command import * 46 | Gui.activateWorkbench("CadQueryWorkbench") 47 | import cadquery 48 | cq = cadquery 49 | from Helpers import show 50 | # CadQuery Gui 51 | except: # catch *all* exceptions 52 | msg = "missing CadQuery 0.3.0 or later Module!\r\n\r\n" 53 | msg += "https://github.com/jmwright/cadquery-freecad-module/wiki\n" 54 | if QtGui is not None: 55 | reply = QtGui.QMessageBox.information(None,"Info ...",msg) 56 | # maui end 57 | 58 | #checking requirements 59 | checkRequirements(cq) 60 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/CP_Radial_SMD/cq_parameters.yaml: -------------------------------------------------------------------------------- 1 | CP_Elec_10x10.5: 2 | height: 3 | diameter: 4 | base_width: 5 | 6 | CP_Elec_10x10: 7 | height: 8 | diameter: 9 | base_width: 10 | 11 | CP_Elec_10x7.7: 12 | height: 13 | diameter: 14 | base_width: 15 | 16 | CP_Elec_3x5.3: 17 | height: 18 | diameter: 19 | base_width: 20 | 21 | CP_Elec_4x4.5: 22 | height: 23 | diameter: 24 | base_width: 25 | 26 | CP_Elec_4x5.3: 27 | height: 28 | diameter: 29 | base_width: 30 | 31 | CP_Elec_4x5.7: 32 | height: 33 | diameter: 34 | base_width: 35 | 36 | CP_Elec_4x5.8: 37 | height: 38 | diameter: 39 | base_width: 40 | 41 | CP_Elec_5x4.5: 42 | height: 43 | diameter: 44 | base_width: 45 | 46 | CP_Elec_5x5.3: 47 | height: 48 | diameter: 49 | base_width: 50 | 51 | CP_Elec_5x5.7: 52 | height: 53 | diameter: 54 | base_width: 55 | 56 | CP_Elec_5x5.8: 57 | height: 58 | diameter: 59 | base_width: 60 | 61 | CP_Elec_6.3x4.5: 62 | height: 63 | diameter: 64 | base_width: 65 | 66 | CP_Elec_6.3x5.3: 67 | height: 68 | diameter: 69 | base_width: 70 | 71 | CP_Elec_6.3x5.7: 72 | height: 73 | diameter: 74 | base_width: 75 | 76 | CP_Elec_6.3x5.8: 77 | height: 78 | diameter: 79 | base_width: 80 | 81 | CP_Elec_6.3x7.7: 82 | height: 83 | diameter: 84 | base_width: 85 | 86 | CP_Elec_8x10.5: 87 | height: 88 | diameter: 89 | base_width: 90 | 91 | CP_Elec_8x10: 92 | height: 93 | diameter: 94 | base_width: 95 | 96 | CP_Elec_8x5.4: 97 | height: 98 | diameter: 99 | base_width: 100 | 101 | CP_Elec_8x6.5: 102 | height: 103 | diameter: 104 | base_width: 105 | 106 | CP_Elec_8x6.7: 107 | height: 108 | diameter: 109 | base_width: 110 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Button_Switch_Nidec/main_generator.py: -------------------------------------------------------------------------------- 1 | import cadquery as cq 2 | from Helpers import show 3 | 4 | 5 | __title__ = "make assorted rotary coded switches (type Nidec SH70xx) 3D models" 6 | __author__ = "maurice, hyOzd, Stefan, Terje, mountyrox" 7 | __Comment__ = 'make make assorted rotary coded switches (type Nidec SH70xx) 3D models exported to STEP and VRML' 8 | 9 | ___ver___ = "1.0.0 21/09/2020" 10 | 11 | import sys, os 12 | 13 | def reload_lib(lib): 14 | if (sys.version_info > (3, 0)): 15 | import importlib 16 | importlib.reload(lib) 17 | else: 18 | reload (lib) 19 | 20 | 21 | script_dir = os.path.dirname(os.path.realpath(__file__)) 22 | scripts_root = script_dir.split(script_dir.split(os.sep)[-1])[0] 23 | 24 | print (script_dir) 25 | sys.path.append(script_dir) 26 | sys.path.append(scripts_root + "_tools") 27 | 28 | import cq_model_generator 29 | reload_lib(cq_model_generator) 30 | from cq_model_generator import All, ModelGenerator 31 | 32 | import cq_base_model 33 | reload_lib(cq_base_model) 34 | 35 | import cq_parameters 36 | reload_lib(cq_parameters) 37 | from cq_parameters import variableParams 38 | 39 | import cq_base_model 40 | reload_lib(cq_base_model) 41 | 42 | import cq_nidec_SH70xx_models 43 | reload_lib(cq_nidec_SH70xx_models) 44 | 45 | 46 | series = [ 47 | cq_nidec_SH70xx_models.switchNidecSH70x0x 48 | ] 49 | 50 | family = All # set to All generate all series 51 | 52 | options = sys.argv[2:] if len(sys.argv) >= 3 else [] 53 | #options = ["7010C"] 54 | 55 | if options != []: 56 | if options[0] in cq_parameters.variableParams().base_params: 57 | family = 0 # we only have one item in member series 58 | 59 | gen = ModelGenerator(scripts_root, script_dir, saveToKicad=False) 60 | #gen.kicadStepUptools = False 61 | gen.setLicense(ModelGenerator.alt_license) 62 | gen.makeModels(options, series, family, cq_parameters.variableParams()) 63 | 64 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/cqToolsExceptions.py: -------------------------------------------------------------------------------- 1 | import FreeCAD 2 | 3 | class FreeCADVersionError(Exception): 4 | def __init__(self, required_version, reason=""): 5 | self.required_version = required_version 6 | self.reason = reason 7 | def __str__(self): 8 | return "FreeCAD version to old. Required version: {:s}\n{:s}".format( 9 | self.required_version, self.reason 10 | ) 11 | 12 | class BOBError(Exception): 13 | def __init__(self, modelName, obj_name, obj_label, details): 14 | self.modelName = modelName 15 | self.obj_name = obj_name 16 | self.obj_label = obj_label 17 | self.details = details 18 | 19 | def __str__(self): 20 | return "Geometry check for model {:s} ({:s}:{:s}) failed\n".format( 21 | self.modelName, self.obj_name, self.obj_label) 22 | def getDetails(self): 23 | return self.details 24 | 25 | class NotUnionedError(Exception): 26 | def __init__(self, modelName): 27 | self.modelName = modelName 28 | def __str__(self): 29 | return "Step file for model {:s} not correctly unioned\n".format(self.modelName) 30 | 31 | class GeometryError(Exception): 32 | def __init__(self): 33 | self.union_error = None 34 | self.bob_errors = [] 35 | self.error_encountered = False 36 | def append(self,e): 37 | self.error_encountered = True 38 | if isinstance(e, BOBError): 39 | self.bob_errors.append(e) 40 | elif isinstance(e, NotUnionedError): 41 | self.union_error = e 42 | def print_errors(self, with_details=False): 43 | if self.union_error: 44 | FreeCAD.Console.PrintError(self.union_error) 45 | for bob_error in self.bob_errors: 46 | FreeCAD.Console.PrintError(bob_error) 47 | if with_details: 48 | FreeCAD.Console.PrintWarning(bob_error.getDetails()) 49 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Crystal/cq_parameters.py: -------------------------------------------------------------------------------- 1 | 2 | # -*- coding: utf8 -*- 3 | #!/usr/bin/python 4 | # 5 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 6 | # 7 | # from https://bitbucket.org/hyOzd/freecad-macros 8 | # author hyOzd 9 | # 10 | 11 | ## file of parametric definitions 12 | 13 | import collections 14 | from collections import namedtuple 15 | 16 | import math 17 | 18 | import FreeCAD, Draft, FreeCADGui 19 | import ImportGui 20 | import FreeCADGui as Gui 21 | 22 | import shaderColors 23 | import exportPartToVRML as expVRML 24 | 25 | ## base parametes & model 26 | import collections 27 | from collections import namedtuple 28 | 29 | # Import cad_tools 30 | import cq_cad_tools 31 | # Reload tools 32 | try: 33 | reload(cq_cad_tools) 34 | except: 35 | import importlib 36 | importlib.reload(cq_cad_tools) 37 | # Explicitly load all needed functions 38 | from cq_cad_tools import FuseObjs_wColors, GetListOfObjects, restore_Main_Tools, \ 39 | exportSTEP, close_CQ_Example, exportVRML, saveFCdoc, z_RotateObject, Color_Objects, \ 40 | CutObjs_wColors, checkRequirements 41 | 42 | # Sphinx workaround #1 43 | try: 44 | QtGui 45 | except NameError: 46 | QtGui = None 47 | # 48 | 49 | try: 50 | # Gui.SendMsgToActiveView("Run") 51 | # from Gui.Command import * 52 | Gui.activateWorkbench("CadQueryWorkbench") 53 | import cadquery 54 | cq = cadquery 55 | from Helpers import show 56 | # CadQuery Gui 57 | except: # catch *all* exceptions 58 | msg = "missing CadQuery 0.3.0 or later Module!\r\n\r\n" 59 | msg += "https://github.com/jmwright/cadquery-freecad-module/wiki\n" 60 | if QtGui is not None: 61 | reply = QtGui.QMessageBox.information(None,"Info ...",msg) 62 | # maui end 63 | 64 | #checking requirements 65 | 66 | try: 67 | close_CQ_Example(FreeCAD, Gui) 68 | except: # catch *all* exceptions 69 | print ("CQ 030 doesn't open example file") 70 | 71 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/WIP/Housings_DFN_QFN.pretty/DFN-6-1EP_2x2mm_Pitch0.5mm.kicad_mod: -------------------------------------------------------------------------------- 1 | (module DFN-6-1EP_2x2mm_Pitch0.5mm (layer F.Cu) (tedit 54130A77) 2 | (descr "DC6 Package; 6-Lead Plastic DFN (2mm x 2mm) (see Linear Technology DFN_6_05-08-1703.pdf)") 3 | (tags "DFN 0.5") 4 | (attr smd) 5 | (fp_text reference REF** (at 0 -2.05) (layer F.SilkS) 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | (fp_text value DFN-6-1EP_2x2mm_Pitch0.5mm (at 0 2.05) (layer F.Fab) 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_line (start 0.0 -1.0) (end 1.0 -1.0) (layer F.Fab) (width 0.15)) 12 | (fp_line (start 1.0 -1.0) (end 1.0 1.0) (layer F.Fab) (width 0.15)) 13 | (fp_line (start 1.0 1.0) (end -1.0 1.0) (layer F.Fab) (width 0.15)) 14 | (fp_line (start -1.0 1.0) (end -1.0 0.0) (layer F.Fab) (width 0.15)) 15 | (fp_line (start -1.0 0.0) (end 0.0 -1.0) (layer F.Fab) (width 0.15)) 16 | (fp_line (start -1.55 -1.3) (end -1.55 1.3) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.55 -1.3) (end 1.55 1.3) (layer F.CrtYd) (width 0.05)) 18 | (fp_line (start -1.55 -1.3) (end 1.55 -1.3) (layer F.CrtYd) (width 0.05)) 19 | (fp_line (start -1.55 1.3) (end 1.55 1.3) (layer F.CrtYd) (width 0.05)) 20 | (fp_line (start -0.575 1.125) (end 0.575 1.125) (layer F.SilkS) (width 0.15)) 21 | (fp_line (start -1.35 -1.125) (end 0.575 -1.125) (layer F.SilkS) (width 0.15)) 22 | (pad 1 smd rect (at -0.925 -0.5) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 23 | (pad 2 smd rect (at -0.925 0) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 24 | (pad 3 smd rect (at -0.925 0.5) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 25 | (pad 4 smd rect (at 0.925 0.5) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 26 | (pad 5 smd rect (at 0.925 0) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 27 | (pad 6 smd rect (at 0.925 -0.5) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 28 | (pad 7 smd rect (at 0 0.355) (size 0.61 0.71) (layers F.Cu F.Paste F.Mask) 29 | (solder_paste_margin_ratio -0.2)) 30 | (pad 7 smd rect (at 0 -0.355) (size 0.61 0.71) (layers F.Cu F.Paste F.Mask) 31 | (solder_paste_margin_ratio -0.2)) 32 | (model Housings_DFN_QFN.3dshapes/DFN-6-1EP_2x2mm_Pitch0.5mm.wrl 33 | (at (xyz 0 0 0)) 34 | (scale (xyz 1 1 1)) 35 | (rotate (xyz 0 0 0)) 36 | ) 37 | ) 38 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/WIP/Housings_DFN_QFN.pretty/DFN-6-1EP_2x2mm_Pitch0.65mm.kicad_mod: -------------------------------------------------------------------------------- 1 | (module DFN-6-1EP_2x2mm_Pitch0.65mm (layer F.Cu) (tedit 54130A77) 2 | (descr "6-Lead Plastic Dual Flat, No Lead Package (MA) - 2x2x0.9 mm Body [DFN] (see Microchip Packaging Specification 00000049BS.pdf)") 3 | (tags "DFN 0.65") 4 | (attr smd) 5 | (fp_text reference REF** (at 0 -2.025) (layer F.SilkS) 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | (fp_text value DFN-6-1EP_2x2mm_Pitch0.65mm (at 0 2.025) (layer F.Fab) 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_line (start 0.0 -1.0) (end 1.0 -1.0) (layer F.Fab) (width 0.15)) 12 | (fp_line (start 1.0 -1.0) (end 1.0 1.0) (layer F.Fab) (width 0.15)) 13 | (fp_line (start 1.0 1.0) (end -1.0 1.0) (layer F.Fab) (width 0.15)) 14 | (fp_line (start -1.0 1.0) (end -1.0 0.0) (layer F.Fab) (width 0.15)) 15 | (fp_line (start -1.0 0.0) (end 0.0 -1.0) (layer F.Fab) (width 0.15)) 16 | (fp_line (start -1.65 -1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.65 -1.25) (end 1.65 1.25) (layer F.CrtYd) (width 0.05)) 18 | (fp_line (start -1.65 -1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05)) 19 | (fp_line (start -1.65 1.25) (end 1.65 1.25) (layer F.CrtYd) (width 0.05)) 20 | (fp_line (start -0.725 1.1) (end 0.725 1.1) (layer F.SilkS) (width 0.15)) 21 | (fp_line (start -1.45 -1.1) (end 0.725 -1.1) (layer F.SilkS) (width 0.15)) 22 | (pad 1 smd rect (at -1.05 -0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask)) 23 | (pad 2 smd rect (at -1.05 0) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask)) 24 | (pad 3 smd rect (at -1.05 0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask)) 25 | (pad 4 smd rect (at 1.05 0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask)) 26 | (pad 5 smd rect (at 1.05 0) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask)) 27 | (pad 6 smd rect (at 1.05 -0.65) (size 0.65 0.35) (layers F.Cu F.Paste F.Mask)) 28 | (pad 7 smd rect (at 0 0.4) (size 1 0.8) (layers F.Cu F.Paste F.Mask) 29 | (solder_paste_margin_ratio -0.2)) 30 | (pad 7 smd rect (at 0 -0.4) (size 1 0.8) (layers F.Cu F.Paste F.Mask) 31 | (solder_paste_margin_ratio -0.2)) 32 | (model Housings_DFN_QFN.3dshapes/DFN-6-1EP_2x2mm_Pitch0.65mm.wrl 33 | (at (xyz 0 0 0)) 34 | (scale (xyz 1 1 1)) 35 | (rotate (xyz 0 0 0)) 36 | ) 37 | ) 38 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/diodes_SMx_SMD/cq_parameters.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf8 -*- 2 | #!/usr/bin/python 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | # Dimensions are from Jedec MS-026D document. 10 | 11 | ## file of parametric definitions 12 | 13 | from collections import namedtuple 14 | 15 | destination_dir="/Diodes_SMD" 16 | # destination_dir="./" 17 | 18 | ma_deg = 8 19 | 20 | Params = namedtuple("Params", [ 21 | 'L', # body overall length (including terminals) 22 | 'W', # body overall width 23 | 'H', # body overall height 24 | 'F', # width of each termination 25 | 'S', # length of each termination 26 | 'T', # thickness of termination metal 27 | 'G', # length of bump underneath body 28 | 'pml', # pin mark lenght 29 | 'modelName', #modelName 30 | 'rotation', #rotation if required 31 | 'dest_dir_prefix' #destination dir prefix 32 | ]) 33 | 34 | kicad_naming_params_tantalum = { 35 | 'D_SMA': Params( # from http://www.galco.com/techdoc/vish/10mq100n_ds.pdf 36 | L = 5.0, 37 | W = 2.7, 38 | H = 2.22, 39 | F = 1.5, 40 | S = 1.14, 41 | T = 0.22, 42 | G = 2.2, 43 | pml = 0.6, 44 | modelName = 'D_SMA', #modelName 45 | rotation = 90, # rotation if required 46 | dest_dir_prefix = '../Diodes_SMD.3dshapes/' 47 | ), 48 | 'D_SMB': Params( # from http://www.vishay.com/docs/95017/smb.pdf 49 | L = 5.3, 50 | W = 3.55, 51 | H = 2.15, 52 | F = 2.0, 53 | S = 1.03, 54 | T = 0.22, 55 | G = 2.6, 56 | pml = 0.6, 57 | modelName = 'D_SMB', #modelName 58 | rotation = 90, # rotation if required 59 | dest_dir_prefix = '../Diodes_SMD.3dshapes/' 60 | ), 61 | 'D_SMC': Params( # from http://www.vishay.com/docs/95023/smc.pdf 62 | L = 8.0, 63 | W = 5.9, 64 | H = 2.31, 65 | F = 3.0, 66 | S = 1.14, 67 | T = 0.22, 68 | G = 5.0, 69 | pml = 0.6, 70 | modelName = 'D_SMC', #modelName 71 | rotation = 90, # rotation if required 72 | dest_dir_prefix = '../Diodes_SMD.3dshapes/' 73 | ), 74 | } 75 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_Stocko/cq_parameters.yaml: -------------------------------------------------------------------------------- 1 | general: 2 | pitch: 2.5 3 | t_cutout_h: 1 4 | t_cutout_w: 10.5 5 | b_cutout_long_w: 1.4 6 | b_cutout_short_w: 1.1 7 | b_cutout_h: 0.9 8 | lr_sides_t: 1.6 9 | tb_sides_t: 2 10 | depth: 11 11 | leaf: 2 12 | base_cutout: 2 13 | pin: 14 | length_above_board: 10.0 15 | length_below_board: 3.1 16 | end_chamfer: 0.1 17 | width: 0.64 18 | base_w: 7.5 19 | base_h: 14 20 | output_directory: '/Connector_Stocko.3dshapes' 21 | source: 'https://www.stocko-contact.com/downloads/steckverbindersystem-raster-2,5-mm.pdf#page=15' 22 | 23 | Stocko_MKS_1651: 24 | outline_x: 3.6 25 | top_cutout: False 26 | pins: 2 27 | 28 | Stocko_MKS_1652: 29 | outline_x: 2.7 30 | top_cutout: False 31 | pins: 2 32 | 33 | Stocko_MKS_1653: 34 | pins: 3 35 | top_cutout: False 36 | outline_x: 3.6 37 | 38 | Stocko_MKS_1654: 39 | pins: 4 40 | top_cutout: True 41 | outline_x: 3.6 42 | 43 | Stocko_MKS_1655: 44 | pins: 5 45 | top_cutout: True 46 | outline_x: 3.6 47 | 48 | Stocko_MKS_1656: 49 | pins: 6 50 | top_cutout: True 51 | outline_x: 3.6 52 | 53 | Stocko_MKS_1657: 54 | pins: 7 55 | top_cutout: True 56 | outline_x: 3.6 57 | 58 | Stocko_MKS_1658: 59 | pins: 8 60 | top_cutout: True 61 | outline_x: 3.6 62 | 63 | Stocko_MKS_1659: 64 | pins: 9 65 | top_cutout: True 66 | outline_x: 3.6 67 | 68 | Stocko_MKS_1660: 69 | pins: 10 70 | top_cutout: True 71 | outline_x: 3.6 72 | 73 | Stocko_MKS_1661: 74 | pins: 11 75 | top_cutout: True 76 | outline_x: 3.6 77 | 78 | Stocko_MKS_1662: 79 | pins: 12 80 | top_cutout: True 81 | outline_x: 3.6 82 | 83 | Stocko_MKS_1663: 84 | pins: 13 85 | top_cutout: True 86 | outline_x: 3.6 87 | 88 | Stocko_MKS_1664: 89 | pins: 14 90 | top_cutout: True 91 | outline_x: 3.6 92 | 93 | Stocko_MKS_1665: 94 | pins: 15 95 | top_cutout: True 96 | outline_x: 3.6 97 | 98 | Stocko_MKS_1666: 99 | pins: 16 100 | top_cutout: True 101 | outline_x: 3.6 102 | 103 | Stocko_MKS_1667: 104 | pins: 17 105 | top_cutout: True 106 | outline_x: 3.6 107 | 108 | Stocko_MKS_1668: 109 | pins: 18 110 | top_cutout: True 111 | outline_x: 3.6 112 | 113 | Stocko_MKS_1670: 114 | pins: 20 115 | top_cutout: True 116 | outline_x: 3.6 117 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/_tools/checkBOP-example.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | #**************************************************************************** 4 | 5 | import FreeCAD, FreeCADGui 6 | import sys 7 | 8 | doc = FreeCAD.ActiveDocument 9 | #FreeCAD.open(u"D:/Temp/res_err.FCStd") 10 | FreeCAD.setActiveDocument(doc.Name) 11 | FreeCAD.ActiveDocument=FreeCAD.getDocument(doc.Name) 12 | FreeCADGui.ActiveDocument=Gui.getDocument(doc.Name) 13 | #App.ActiveDocument.Part__Feature.Shape.check(True) 14 | 15 | def mk_string(input): 16 | if (sys.version_info > (3, 0)): #py3 17 | if isinstance(input, str): 18 | return input 19 | else: 20 | input = input.encode('utf-8') 21 | return input 22 | else: #py2 23 | if type(input) == unicode: 24 | input = input.encode('utf-8') 25 | return input 26 | else: 27 | return input 28 | 29 | def checkUnion(docu): 30 | """ counting NBR of objects in the doc 31 | if NBR>1, then the STEP file is not correctly Unioned in a siingle object 32 | """ 33 | i=0 34 | for o in docu.Objects: 35 | i+=1 36 | if i != 1: 37 | return False 38 | else: 39 | return True 40 | ## 41 | 42 | 43 | def checkBOP(shape): 44 | """ checking BOP errors of a shape 45 | returns: 46 | - True if Shape is Valid 47 | - the Shape errors 48 | """ 49 | 50 | # enabling BOP check 51 | paramGt = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Part/CheckGeometry") 52 | paramGt.SetBool("RunBOPCheck",True) 53 | 54 | try: 55 | shape.check(True) 56 | return True 57 | except: 58 | return sys.exc_info()[1] #ValueError #sys.exc_info() #False 59 | ## 60 | 61 | if checkUnion(doc) is True: 62 | FreeCAD.Console.PrintMessage('step file is correctly Unioned\n') 63 | else: 64 | FreeCAD.Console.PrintError('step file is NOT Unioned\n') 65 | 66 | 67 | for o in doc.Objects: 68 | if hasattr(o,'Shape'): 69 | chks=checkBOP(o.Shape) 70 | if chks is not True: 71 | FreeCAD.Console.PrintError('shape \''+o.Name+'\' \''+mk_string(o.Label)+'\' is INVALID!\n') 72 | FreeCAD.Console.PrintWarning(chks[0]) 73 | else: 74 | FreeCAD.Console.PrintMessage('shape \''+o.Name+'\' \''+mk_string(o.Label)+'\' is valid\n') 75 | 76 | # end 77 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Connector_Wago_734/README.md: -------------------------------------------------------------------------------- 1 | Following models can be generated: 2 | (Click entry to unfold/fold) 3 |
4 | Vertical connectors 5 | 6 | - Wago_734-132_1x02_P3.50mm_Vertical 7 | - Wago_734-133_1x03_P3.50mm_Vertical 8 | - Wago_734-134_1x04_P3.50mm_Vertical 9 | - Wago_734-135_1x05_P3.50mm_Vertical 10 | - Wago_734-136_1x06_P3.50mm_Vertical 11 | - Wago_734-137_1x07_P3.50mm_Vertical 12 | - Wago_734-138_1x08_P3.50mm_Vertical 13 | - Wago_734-139_1x09_P3.50mm_Vertical 14 | - Wago_734-140_1x10_P3.50mm_Vertical 15 | - Wago_734-141_1x11_P3.50mm_Vertical 16 | - Wago_734-142_1x12_P3.50mm_Vertical 17 | - Wago_734-143_1x13_P3.50mm_Vertical 18 | - Wago_734-144_1x14_P3.50mm_Vertical 19 | - Wago_734-146_1x16_P3.50mm_Vertical 20 | - Wago_734-148_1x18_P3.50mm_Vertical 21 | - Wago_734-150_1x20_P3.50mm_Vertical 22 | - Wago_734-154_1x24_P3.50mm_Vertical 23 |
24 | 25 |
26 | Horizontal connectors 27 | 28 | - Wago_734-162_1x02_P3.50mm_Horizontal 29 | - Wago_734-163_1x03_P3.50mm_Horizontal 30 | - Wago_734-164_1x04_P3.50mm_Horizontal 31 | - Wago_734-165_1x05_P3.50mm_Horizontal 32 | - Wago_734-166_1x06_P3.50mm_Horizontal 33 | - Wago_734-167_1x07_P3.50mm_Horizontal 34 | - Wago_734-168_1x08_P3.50mm_Horizontal 35 | - Wago_734-169_1x09_P3.50mm_Horizontal 36 | - Wago_734-170_1x10_P3.50mm_Horizontal 37 | - Wago_734-171_1x11_P3.50mm_Horizontal 38 | - Wago_734-172_1x12_P3.50mm_Horizontal 39 | - Wago_734-173_1x13_P3.50mm_Horizontal 40 | - Wago_734-174_1x14_P3.50mm_Horizontal 41 | - Wago_734-176_1x16_P3.50mm_Horizontal 42 | - Wago_734-178_1x18_P3.50mm_Horizontal 43 | - Wago_734-180_1x20_P3.50mm_Horizontal 44 | - Wago_734-184_1x24_P3.50mm_Horizontal 45 |
46 | 47 | ## Running the scripts 48 | 49 | 50 | to run the script just move to the scripts dir and do: 51 | 52 | `..../bin/freecad.exe main_generator.py option` 53 | 54 | where *option* is one of *| all | list | filter* 55 | - *all* - generate all models 56 | - *list* - list all model names 57 | - *filter* - a reqular expression matching model names in the models list above (not case sensitive) 58 | 59 | examples in win: 60 | `c:\freecad\bin\freecad main_generator.py wago*` 61 | `c:\freecad\bin\freecad main_generator.py *164*` 62 | `c:\freecad\bin\freecad main_generator.py all` 63 | 64 | in linux: 65 | `freecad ./main_generator.py *hori*` 66 | `freecad ./main_generator.py *1x0*` 67 | `freecad ./main_generator.py list` 68 | 69 | 70 | When running the script with no arguments, no models will be generated and a help text will be displayed in the FreeCAD `report view` window 71 | The 3D model files will be saved in: 72 | `..\_3Dmodels\Connector_Wago.3dshapes` 73 | 74 | 75 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Altech/cq_parameters.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | # Dimensions are from Jedec MS-026D document. 10 | 11 | ## file of parametric definitions 12 | 13 | import collections 14 | from collections import namedtuple 15 | 16 | footprints_dir="TerminalBlock_Altech.pretty" 17 | 18 | ##enabling optional/default values to None 19 | def namedtuple_with_defaults(typename, field_names, default_values=()): 20 | 21 | T = collections.namedtuple(typename, field_names) 22 | T.__new__.__defaults__ = (None,) * len(T._fields) 23 | if isinstance(default_values, collections.Mapping): 24 | prototype = T(**default_values) 25 | else: 26 | prototype = T(*default_values) 27 | T.__new__.__defaults__ = tuple(prototype) 28 | return T 29 | 30 | Params = namedtuple_with_defaults("Params", [ 31 | 'manufacture', # Manufacture 32 | 'serie', # ModelName 33 | 'W', # package width 34 | 'H', # package height 35 | 'WD', # > Y distance form pin center to package edge 36 | 'A1', # package board seperation 37 | 'pin_number', # Pin number serie 38 | 'PE', # Distance from edge to pin 39 | 'PS', # Pin distance 40 | 'PD', # Pin diameter 41 | 'PL', # Pin length 42 | 'PF', # Pin form 43 | 'SW', # Blender width 44 | 'rotation', # Rotation 45 | 'body_color_key', # Body colour 46 | 'pin_color_key', # Pin colour 47 | 'dest_dir_prefix' # Destination directory 48 | ]) 49 | 50 | all_params = { 51 | 52 | 'AK300': Params( # ModelName 53 | # 54 | # 55 | # 56 | manufacture = 'Altech', # Model name 57 | serie = 'AK300', # Model name 58 | W = 12.5, # Package width 59 | H = 12.5, # Package height 60 | WD = 6.5, # > Y distance form pin center to package edge 61 | A1 = 0.1, # package board seperation 62 | pin_number = [ 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24], # Which pin configuration 63 | PE = 2.5, # Distance from edge to pin 64 | PS = 5.0, # Distance between pins 65 | PD = [1.0, 0.8], # Pin size, [1.0] diameter 1 mm, [1.0, 0.8] rectangle 1.0x0.8 66 | PL = 4.5, # Pin length 67 | PF = 'rect', # Pin form 'round' or 'rect' 68 | SW = 2.7, # Blender width 69 | rotation = 0, # Rotation if required 70 | body_color_key = 'black body', # Body color 71 | pin_color_key = 'metal grey pins', # Pin color 72 | dest_dir_prefix = 'TerminalBlock_Altech.3dshapes' # Destination directory 73 | ), 74 | 75 | } 76 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Button_Switch_Tactile_SMD_THT/README.md: -------------------------------------------------------------------------------- 1 | Following SMD models can be generated: 2 | (Click entry to unfold/fold) 3 |
4 | SMD tactile buttons 5 | 6 | - SW_SPST_B3S-1000 7 | - SW_SPST_B3S-1100 8 | - SW_SPST_B3SL-1002P 9 | - SW_SPST_B3SL-1022P 10 | - SW_SPST_B3U-1100P-B 11 | - SW_SPST_B3U-1100P 12 | - SW_SPST_Omron_B3FS-100xP 13 | - SW_SPST_Omron_B3FS-101xP 14 | - SW_SPST_Omron_B3FS-105xP 15 | - SW_push_1P1T_NO_CK_KSC6xxJxxx 16 | - SW_push_1P1T_NO_CK_KSC7xxJxxx 17 | - SW_SPST_EVPBF 18 | - SW_SPST_EVQP0 19 | - SW_SPST_EVQP2 20 | - SW_SPST_Panasonic_EVQPL_3PL_5PL_PT_A08 21 | - SW_SPST_Panasonic_EVQPL_3PL_5PL_PT_A15 22 | - SW_PUSH_6mm_H9.5mm 23 | - SW_SPST_SKQG_WithStem 24 | - SW_SPST_SKQG_WithoutStem 25 | - SW_SPST_TL3305A 26 | - SW_SPST_TL3305B 27 | - SW_SPST_TL3305C 28 | - SW_Push_SPST_NO_Alps_SKRK 29 | - SW_Push_1P1T_NO_CK_PTS125Sx43PSMTR 30 | - SW_Push_1P1T_NO_CK_PTS125Sx85PSMTR 31 | - SW_Push_1P1T_NO_CK_PTS125Sx73PSMTR 32 | - SW_Push_1P1T_NO_CK_PTS125Sx43SMTR 33 | - SW_Push_1P1T_NO_CK_PTS125Sx85SMTR 34 | - SW_Push_1P1T_NO_CK_PTS125Sx73SMTR 35 | - Panasonic_EVQPUJ_EVQPUA 36 | - Panasonic_EVQPUK_EVQPUB 37 | - Panasonic_EVQPUL_EVQPUC 38 | - Panasonic_EVQPUM_EVQPUD 39 | - SW_SPST_EVQP7A 40 | - SW_SPST_EVQP7C 41 | - SW_SPST_B3U-3000P-B 42 | - SW_SPST_B3U-3000P 43 | - SW_SPST_B3U-3100P-B 44 | - SW_SPST_B3U-3100P 45 | - SW_Push_1P1T-SH_NO_CK_KMR2xxG 46 | - SW_Push_1P1T_NO_CK_KMR2 47 | - SW_SPST_PTS810 48 |
49 | 50 |
51 | THT tactile buttons 52 | 53 | - SW_TH_Tactile_Omron_B3F-10xx 54 | - SW_TH_Tactile_Omron_B3F-11xx 55 | - SW_Tactile_Straight_KSA0Axx1LFTR 56 | - SW_Tactile_Straight_KSL0Axx1LFTR 57 | - SW_PUSH_6mm_H8.5mm 58 | - SW_PUSH-12mm 59 | - SW_PUSH-12mm_Wuerth-430476085716 60 |
61 | 62 | ## Running the scripts 63 | 64 | 65 | to run the script just move to the scripts dir and do: 66 | 67 | `..../bin/freecad.exe main_generator.py option` 68 | 69 | where *option* is one of *| all | list | filter* 70 | - *all* - generate all models 71 | - *list* - list all model names 72 | - *filter* - a reqular expression matching model names in the models list above (not case sensitive) 73 | 74 | examples in win: 75 | `c:\freecad\bin\freecad main_generator.py sw_push*` 76 | `c:\freecad\bin\freecad main_generator.py *B3U*` 77 | `c:\freecad\bin\freecad main_generator.py all` 78 | 79 | in linux: 80 | `freecad ./main_generator.py *tactile*` 81 | `freecad ./main_generator.py *evqp*` 82 | `freecad ./main_generator.py list` 83 | 84 | 85 | When running the script with no arguments, no models will be generated and a help text will be displayed in the FreeCAD `report view` window 86 | The 3D model files will be saved in: 87 | `..\_3Dmodels\Button_Switch_SMD.3dshapes` 88 | `..\_3Dmodels\Button_Switch_THT.3dshapes` 89 | 90 | 91 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Battery/cq_Keystone_2993.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | import battery_common 5 | from battery_common import * 6 | 7 | 8 | def make_case_Keystone_2993(params): 9 | 10 | A1 = params.A1 # Body PCB seperation 11 | L = params.L # Package length 12 | L1 = params.L1 # Package length 1 13 | L2 = params.L2 # Package length 2 14 | W = params.W # Package width 15 | W1 = params.W1 # Package width 1 16 | MT = params.MT # Metal thickness 17 | npthpins = params.npthpins # npth holes 18 | rotation = params.rotation # Rotation if required 19 | 20 | # 21 | # Create body 22 | # 23 | case = cq.Workplane("XY").workplane(offset=0.0).moveTo(0.0, 0.0).rect(W, L2).extrude(MT) 24 | # case = cq.Workplane("XY").workplane(offset=0.0).moveTo(0.0, 0.0).rect(W, L).extrude(MT) 25 | # case1 = cq.Workplane("XY").workplane(offset=0.0 - MT).moveTo(0.0 - L2, L - ((L - L2) / 2.0)).rect(W, L).extrude(2.0 * MT) 26 | # case = case.cut(case1) 27 | # case1 = cq.Workplane("XY").workplane(offset=0.0 - MT).moveTo(0.0 - L2, 0.0 - (L - ((L - L2) / 2.0))).rect(W, L).extrude(2.0 * MT) 28 | # case = case.cut(case1) 29 | 30 | for n in npthpins: 31 | x = (0.0 - (W / 2.0)) + n[1] 32 | y = n[2] 33 | d = n[3] 34 | case1 = cq.Workplane("XY").workplane(offset=0.0 - MT).moveTo(x, y).circle(d / 2.0, False).extrude(2.0 * MT) 35 | case = case.cut(case1) 36 | 37 | if (rotation != 0): 38 | case = case.rotate((0,0,0), (0,0,1), rotation) 39 | 40 | return (case) 41 | 42 | 43 | def make_pins_Keystone_2993(params): 44 | 45 | A1 = params.A1 # Body PCB seperation 46 | L = params.L # Package length 47 | L1 = params.L1 # Package length 1 48 | L2 = params.L2 # Package length 2 49 | W = params.W # Package width 50 | W1 = params.W1 # Package width 1 51 | MT = params.MT # Metal thickness 52 | npthpins = params.npthpins # npth holes 53 | rotation = params.rotation # Rotation if required 54 | 55 | # 56 | pts = [] 57 | pts.append((0.0, MT)) 58 | pts.append((0.0 - 3.23, MT)) 59 | pts.append((0.0 - 10.80, 2.68)) 60 | pts.append((0.0 - 14.11, 2.11)) 61 | pts.append((0.0 - 14.11, 2.11 - MT)) 62 | pts.append((0.0 - 10.80, 2.68 - MT)) 63 | pts.append((0.0 - 3.23, 0.0)) 64 | pin = cq.Workplane("XZ").workplane(offset=0.0).polyline(pts).close().extrude(L) 65 | 66 | case1 = cq.Workplane("XY").workplane(offset=0.0).moveTo(0.0 - 8.67, 0.0 - (L / 2.0)).rect(10.88, 4.06).extrude(3.0) 67 | pin = pin.cut(case1) 68 | 69 | pin.faces(">X").edges("X").edges(">Y").fillet(L1 / 3.0) 71 | pin.faces(">Z").edges(">X").fillet(L1 / 5.0) 72 | pin.faces(". 43 | 44 | ## export VRML from FreeCAD is a python macro that will export simplified VRML of 45 | ## a (multi)selected Part or fused Part to VRML optimized to Kicad and compatible with Blender 46 | ## the size of VRML is much smaller compared to the one exported from FC Gui 47 | ## and the loading/rendering time is smaller too 48 | ## change mesh deviation to increase quality of VRML 49 | 50 | ## to do 51 | # export material properties to vrml 52 | 53 | import FreeCAD,FreeCADGui,Part,Mesh 54 | #import PySide 55 | from PySide import QtGui, QtCore 56 | from collections import namedtuple 57 | import sys, os 58 | from os.path import expanduser 59 | import re 60 | from exportPartToVRML import * 61 | 62 | #clearing previous messages 63 | mw=Gui.getMainWindow() 64 | c=mw.findChild(QtGui.QPlainTextEdit, "Python console") 65 | c.clear() 66 | r=mw.findChild(QtGui.QTextEdit, "Report view") 67 | r.clear() 68 | 69 | doc = FreeCAD.ActiveDocument 70 | if doc!=None: 71 | fullFilePathName=doc.FileName 72 | if fullFilePathName=="": 73 | home = expanduser("~") 74 | fullFilePathName=home+os.sep+doc.Label+'.FCStd' 75 | say('path not found, saving to '+fullFilePathName) 76 | #say(fullFilePathName) 77 | else: 78 | fullFilePathName = os.path.dirname(os.path.abspath(fullFilePathName)) 79 | fullFilePathName=fullFilePathName+os.sep+doc.Label+'.FCStd' 80 | say(fullFilePathName) 81 | exportVRMLfromSelction(Gui, fullFilePathName) 82 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Conn_PinSocket/main_generator.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf8 -*- 2 | #!/usr/bin/python 3 | 4 | ## requirements 5 | ## cadquery FreeCAD plugin 6 | ## https://github.com/jmwright/cadquery-freecad-module 7 | 8 | ## to run the script just do: freecad main_generator.py modelName 9 | ## e.g. c:\freecad\bin\freecad main_generator.py DIP8 10 | 11 | ## the script will generate STEP and VRML parametric models 12 | ## to be used with kicad StepUp script 13 | 14 | #* These are a FreeCAD & cadquery tools * 15 | #* to export generated models in STEP & VRML format. * 16 | #* * 17 | #* cadquery script for generating DIP socket models in STEP AP214 * 18 | #* Copyright (c) 2017 * 19 | #* Terje Io https://github.com/terjeio * 20 | #* All trademarks within this guide belong to their legitimate owners. * 21 | #* * 22 | #* This program is free software; you can redistribute it and/or modify * 23 | #* it under the terms of the GNU Lesser General Public License (LGPL) * 24 | #* as published by the Free Software Foundation; either version 2 of * 25 | #* the License, or (at your option) any later version. * 26 | #* for detail see the LICENCE text file. * 27 | #* * 28 | #* This program is distributed in the hope that it will be useful, * 29 | #* but WITHOUT ANY WARRANTY; without even the implied warranty of * 30 | #* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 31 | #* GNU Library General Public License for more details. * 32 | #* * 33 | #* You should have received a copy of the GNU Library General Public * 34 | #* License along with this program; if not, write to the Free Software * 35 | #* Foundation, Inc., * 36 | #* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * 37 | #* * 38 | #**************************************************************************** 39 | 40 | __title__ = "pin socket strip 3D models" 41 | __author__ = "maurice, hyOzd, Stefan, Terje" 42 | __Comment__ = 'make make pin socket strip 3D models exported to STEP and VRML' 43 | 44 | ___ver___ = "1.0.0 23/11/2017" 45 | 46 | import sys, os 47 | 48 | script_dir = os.path.dirname(os.path.realpath(__file__)) 49 | scripts_root = script_dir.split(script_dir.split(os.sep)[-1])[0] 50 | 51 | sys.path.append(script_dir) 52 | sys.path.append(scripts_root + os.sep + "_tools") 53 | 54 | from cq_model_generator import All, ModelGenerator 55 | 56 | import parameters 57 | reload(parameters) 58 | 59 | import cq_socket_strips 60 | reload(cq_socket_strips) 61 | 62 | family = All # set to All to generate all series 63 | 64 | series = [ 65 | cq_socket_strips.socket_strip, 66 | cq_socket_strips.angled_socket_strip, 67 | cq_socket_strips.smd_socket_strip 68 | ] 69 | 70 | options = sys.argv[2:] if len(sys.argv) >= 3 else [] 71 | #options = [["list"]] 72 | 73 | gen = ModelGenerator(scripts_root, script_dir, saveToKicad=False) 74 | #gen.kicadStepUptools = False 75 | gen.footprints_dir = "\\\MEDIA\MyStuff\Electronics\KiCad\New\genmod" 76 | gen.setLicense(ModelGenerator.alt_license) 77 | gen.makeModels(options, series, family, parameters.params()) 78 | 79 | ### EOF ### 80 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/cq_parameters_tssop_maui.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf8 -*- 2 | #!/usr/bin/python 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | # Dimensions are from Jedec MS-026D document. 10 | 11 | ## file of parametric definitions 12 | 13 | from Params import * 14 | 15 | class SeriesParams(): 16 | footprint_dir="Housings_SSOP.pretty" 17 | lib_name = "SSOP" 18 | 19 | body_color_key = "black body" 20 | pins_color_key = "metal grey pins" 21 | mark_color_key = "light brown label" 22 | 23 | 24 | part_params = { 25 | 'TSSOP_14': Params( # 5.0x4.4, pitch 0.65 14pin 1.2mm height 26 | the = 12.0, # body angle in degrees 27 | tb_s = 0.15, # top part of body is that much smaller 28 | c = 0.1, # pin thickness, body center part height 29 | R1 = 0.1, # pin upper corner, inner radius 30 | R2 = 0.1, # pin lower corner, inner radius 31 | S = 0.3, # pin top flat part length (excluding corner arc) 32 | # L = 0.6, # pin bottom flat part length (including corner arc) 33 | fp_s = True, # True for circular pinmark, False for square pinmark (useful for diodes) 34 | fp_r = 0.65, # first pin indicator radius 35 | fp_d = 0.25, # first pin indicator distance from edge 36 | fp_z = 0.15, # first pin indicator depth 37 | ef = 0, # 0.05, # fillet of edges Note: bigger bytes model with fillet 38 | cc1 = 0.25, #0.45 chamfer of the 1st pin corner 39 | D1 = 5.0, # body length 40 | E1 = 4.4, # body width 41 | E = 6.4, # body overall width E=E1+2*(S+L+c) 42 | A1 = 0.1, # body-board separation 43 | A2 = 1.1, # body height 44 | b = 0.25, # pin width 45 | e = 0.65, # pin (center-to-center) distance 46 | npx = 7, # number of pins along X axis (width) 47 | npy = 0, # number of pins along y axis (length) 48 | epad = None, # e Pad 49 | excluded_pins = None, #no pin excluded 50 | old_modelName = 'tssop_14_50x44_p065', #modelName 51 | modelName = 'tssop_14_50x44_p065', #modelName 52 | rotation = 0, # rotation if required 53 | ), 54 | 'TSOP2-50': Params( # 55 | the = 12.0, # body angle in degrees 56 | tb_s = 0.15, # top part of body is that much smaller 57 | c = 0.12, # pin thickness, body center part height 58 | R1 = 0.2, # pin upper corner, inner radius 59 | R2 = 0.2, # pin lower corner, inner radius 60 | S = 0.15, # pin top flat part length (excluding corner arc) 61 | # L = 0.6, # pin bottom flat part length (including corner arc) 62 | fp_s = True, # True for circular pinmark, False for square pinmark (useful for diodes) 63 | fp_r = 1.2, # first pin indicator radius 64 | fp_d = 0.3, # first pin indicator distance from edge 65 | fp_z = 0.15, # first pin indicator depth 66 | ef = 0, # 0.05, # fillet of edges Note: bigger bytes model with fillet 67 | cc1 = 0.25, #0.45 chamfer of the 1st pin corner 68 | D1 = 20.95, # body length 69 | E1 = 10.16, # body width 70 | E = 11.76, # body overall width E=E1+2*(S+L+c) 71 | A1 = 0.1, # body-board separation 72 | A2 = 1.0, # body height 73 | b = 0.36, # pin width 74 | e = 0.8, # pin (center-to-center) distance 75 | npx = 25, # number of pins along X axis (width) 76 | npy = 0, # number of pins along y axis (length) 77 | epad = None, # e Pad 78 | excluded_pins = None, #no pin excluded 79 | old_modelName = 'TSOP2-50', #modelName 80 | modelName = 'TSOP2-50', #modelName 81 | rotation = -90, # rotation if required 82 | ), 83 | } 84 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/GW_QFP_SOIC_SSOP_TSSOP_SOT/cq_parameters_ssop_maui.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf8 -*- 2 | #!/usr/bin/python 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | # Dimensions are from Jedec MS-026D document. 10 | 11 | ## file of parametric definitions 12 | 13 | from Params import * 14 | 15 | class SeriesParams(): 16 | footprint_dir="Housings_SSOP.pretty" 17 | lib_name = "SSOP" 18 | 19 | body_color_key = "black body" 20 | pins_color_key = "metal grey pins" 21 | mark_color_key = "light brown label" 22 | 23 | part_params = { 24 | 'SSOP_20': Params( # 5.6x7.2, pitch 0.65 20pin 2.0mm height 25 | the = 12.0, # body angle in degrees 26 | tb_s = 0.15, # top part of body is that much smaller 27 | c = 0.1, # pin thickness, body center part height 28 | R1 = 0.1, # pin upper corner, inner radius 29 | R2 = 0.1, # pin lower corner, inner radius 30 | S = 0.2, # pin top flat part length (excluding corner arc) 31 | # L = 0.6, # pin bottom flat part length (including corner arc) 32 | fp_s = True, # True for circular pinmark, False for square pinmark (useful for diodes) 33 | fp_r = 0.5, # first pin indicator radius 34 | fp_d = 0.2, # first pin indicator distance from edge 35 | fp_z = 0.1, # first pin indicator depth 36 | ef = 0, # 0.05, # fillet of edges Note: bigger bytes model with fillet 37 | cc1 = 0.25, #0.45 chamfer of the 1st pin corner 38 | D1 = 7.2, # body length 39 | E1 = 5.3, # body width 40 | E = 7.8, # body overall width E=E1+2*(S+L+c) 41 | A1 = 0.1, # body-board separation 42 | A2 = 1.9, # body height 43 | b = 0.35, # pin width 44 | e = 0.65, # pin (center-to-center) distance 45 | npx = 10, # number of pins along X axis (width) 46 | npy = 0, # number of pins along y axis (length) 47 | epad = None, # e Pad 48 | excluded_pins = None, #no pin excluded 49 | old_modelName ='ssop_20_53x72_p065', #modelName 50 | modelName ='ssop_20_53x72_p065', #modelName 51 | rotation = 0, # rotation if required 52 | ), 53 | 'SSOP_20_Pad': Params( # 5.6x7.2, pitch 0.65 20pin 2.0mm height 54 | the = 12.0, # body angle in degrees 55 | tb_s = 0.15, # top part of body is that much smaller 56 | c = 0.1, # pin thickness, body center part height 57 | R1 = 0.1, # pin upper corner, inner radius 58 | R2 = 0.1, # pin lower corner, inner radius 59 | S = 0.2, # pin top flat part length (excluding corner arc) 60 | # L = 0.6, # pin bottom flat part length (including corner arc) 61 | fp_s = True, # True for circular pinmark, False for square pinmark (useful for diodes) 62 | fp_r = 0.5, # first pin indicator radius 63 | fp_d = 0.2, # first pin indicator distance from edge 64 | fp_z = 0.1, # first pin indicator depth 65 | ef = 0, # 0.05, # fillet of edges Note: bigger bytes model with fillet 66 | cc1 = 0.25, #0.45 chamfer of the 1st pin corner 67 | D1 = 7.2, # body length 68 | E1 = 5.3, # body width 69 | E = 7.8, # body overall width E=E1+2*(S+L+c) 70 | A1 = 0.001, # body-board separation 71 | A2 = 1.999, # body height 72 | b = 0.35, # pin width 73 | e = 0.65, # pin (center-to-center) distance 74 | npx = 10, # number of pins along X axis (width) 75 | npy = 0, # number of pins along y axis (length) 76 | epad = (5.0,3.0), # e Pad 77 | excluded_pins = None, #no pin excluded 78 | old_modelName ='ssop_20_53x72_pad_p065', #modelName 79 | modelName ='ssop_20_53x72_pad_p065', #modelName 80 | rotation = 0, # rotation if required 81 | ), 82 | } 83 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Battery/battery_common.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 5 | # 6 | # from https://bitbucket.org/hyOzd/freecad-macros 7 | # author hyOzd 8 | # 9 | 10 | ## file of parametric definitions 11 | 12 | import collections 13 | from collections import namedtuple 14 | 15 | import math 16 | 17 | import FreeCAD, Draft, FreeCADGui 18 | import ImportGui 19 | import FreeCADGui as Gui 20 | 21 | import shaderColors 22 | import exportPartToVRML as expVRML 23 | 24 | ## base parametes & model 25 | import collections 26 | from collections import namedtuple 27 | 28 | # Import cad_tools 29 | import cq_cad_tools 30 | # Reload tools 31 | from cq_cad_tools import reload_lib 32 | reload_lib(cq_cad_tools) 33 | 34 | # Explicitly load all needed functions 35 | from cq_cad_tools import FuseObjs_wColors, GetListOfObjects, restore_Main_Tools, \ 36 | exportSTEP, close_CQ_Example, exportVRML, saveFCdoc, z_RotateObject, Color_Objects, \ 37 | CutObjs_wColors, checkRequirements 38 | 39 | # Sphinx workaround #1 40 | try: 41 | QtGui 42 | except NameError: 43 | QtGui = None 44 | # 45 | 46 | try: 47 | # Gui.SendMsgToActiveView("Run") 48 | # from Gui.Command import * 49 | Gui.activateWorkbench("CadQueryWorkbench") 50 | import cadquery 51 | cq = cadquery 52 | from Helpers import show 53 | # CadQuery Gui 54 | except: # catch *all* exceptions 55 | msg = "missing CadQuery 0.3.0 or later Module!\r\n\r\n" 56 | msg += "https://github.com/jmwright/cadquery-freecad-module/wiki\n" 57 | if QtGui is not None: 58 | reply = QtGui.QMessageBox.information(None,"Info ...",msg) 59 | # maui end 60 | 61 | #checking requirements 62 | checkRequirements(cq) 63 | 64 | 65 | def make_modelfileName_Common(params): 66 | 67 | manufacture = params.manufacture # Model name 68 | serie = params.serie # Model name 69 | cellsize = params.cellsize # Battery type 70 | cellcnt = params.cellcnt # Number of battery 71 | L = params.L # Package width 72 | W = params.W # Package width 73 | H = params.H # Package height 74 | A1 = params.A1 # package board seperation 75 | pins = params.pins # Pins tht/smd, x pos, y pos, 'round/rect', diameter/x size, y size, length 76 | npthpins = params.npthpins # npth holes 77 | socket = params.socket # 'type', centre diameter, length 78 | topear = params.topear # Top ear 79 | rotation = params.rotation # Rotation if required 80 | modelname = params.modelname # Model name 81 | 82 | return modelname 83 | 84 | 85 | def get_body_offset(params): 86 | 87 | A2 = params.A2 88 | 89 | BH = 0.0 90 | if A2 != None: 91 | BH = A2 92 | 93 | return BH 94 | 95 | 96 | def get_battery_size(params): 97 | 98 | cellsize = params.cellsize # Battery type 99 | 100 | # 101 | # https://en.wikipedia.org/wiki/List_of_battery_sizes 102 | # 103 | 104 | if cellsize == 'A': 105 | return 17.00, 50.00 106 | 107 | if cellsize == 'AA': 108 | return 14.50, 50.50 109 | 110 | if cellsize == 'AAA': 111 | return 10.50, 44.50 112 | 113 | if cellsize == 'AAAA': 114 | return 08.30, 42.50 115 | 116 | if cellsize == 'B': 117 | return 21.5, 60.00 118 | 119 | if cellsize == 'C': 120 | return 14.50, 50.50 121 | 122 | if cellsize == 'D': 123 | return 34.20, 61.50 124 | 125 | if cellsize == '18650': 126 | return 18.00, 65.00 127 | 128 | if cellsize == 'CR1216': 129 | return 12.50, 1.6 130 | 131 | if cellsize == 'CR1220': 132 | return 12.00, 5.0 133 | 134 | if cellsize == 'CR2025': 135 | return 20.00, 2.5 136 | 137 | if cellsize == 'CR2450': 138 | return 24.5, 5.0 139 | 140 | return 0.0, 0.0 141 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/cq_parameters.yaml: -------------------------------------------------------------------------------- 1 | C_01005_0402Metric: 2 | length: 0.4 3 | width: 0.2 4 | height: 0.2 5 | pin_band: 0.1 6 | pin_thickness: 'auto' 7 | edge_fillet: 'auto' 8 | rotation: 0 9 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GRM0222C1C121JA02-01.pdf' 10 | 11 | C_0201_0603Metric: 12 | length: 0.6 13 | width: 0.3 14 | height: 0.3 15 | pin_band: 0.15 16 | pin_thickness: 'auto' 17 | edge_fillet: 'auto' 18 | rotation: 0 19 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GCM0335C1E100JA16-01.pdf' 20 | 21 | C_0402_1005Metric: 22 | length: 1.0 23 | width: 0.5 24 | height: 0.5 25 | pin_band: 0.2 26 | pin_thickness: 'auto' 27 | edge_fillet: 'auto' 28 | rotation: 0 29 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GCB155M91A103KE01-01.pdf' 30 | 31 | C_0603_1608Metric: 32 | length: 1.6 33 | width: 0.8 34 | height: 0.8 35 | pin_band: 0.3 36 | pin_thickness: 'auto' 37 | edge_fillet: 'auto' 38 | rotation: 0 39 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GRM1882C1H102JA01-01.pdf' 40 | 41 | C_0805_2012Metric: 42 | length: 2.0 43 | width: 1.25 44 | height: 1.25 45 | pin_band: 0.4 46 | pin_thickness: 'auto' 47 | edge_fillet: 'auto' 48 | rotation: 0 49 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GC321BD72E223KX03-01.pdf' 50 | 51 | C_1206_3216Metric: 52 | length: 3.2 53 | width: 1.6 54 | height: 1.6 55 | pin_band: 0.4 56 | pin_thickness: 'auto' 57 | edge_fillet: 'auto' 58 | rotation: 0 59 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GC331CD72E683KX03-01.pdf' 60 | 61 | C_1210_3225Metric: 62 | length: 3.2 63 | width: 2.5 64 | height: 2.5 65 | pin_band: 0.4 66 | pin_thickness: 'auto' 67 | edge_fillet: 'auto' 68 | rotation: 0 69 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GCG32EC71H106KA01-01.pdf' 70 | 71 | C_1806_4516Metric: 72 | length: 4.5 73 | width: 1.6 74 | height: 1.6 75 | pin_band: 0.5 76 | pin_thickness: 'auto' 77 | edge_fillet: 'auto' 78 | rotation: 0 79 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GA342DR7GF102KW02-01.pdf' 80 | 81 | C_1812_4532Metric: 82 | length: 4.5 83 | width: 3.2 84 | height: 2.5 85 | pin_band: 0.5 86 | pin_thickness: 'auto' 87 | edge_fillet: 'auto' 88 | rotation: 0 89 | source: 'http://psearch.en.murata.com/capacitor/product/GRM43EB11C226KE01_.pdf' 90 | 91 | C_1825_4564Metric: 92 | length: 4.5 93 | width: 6.4 94 | height: 2.5 # added for tolerance 95 | pin_band: 0.5 96 | pin_thickness: 'auto' 97 | edge_fillet: 'auto' 98 | rotation: 0 99 | source: 'https://www.vishay.com/docs/45026/cdrmilprf55681.pdf' 100 | 101 | C_2010_5025Metric: 102 | length: 5.0 103 | width: 2.5 104 | height: 1.8 105 | pin_band: 0.5 106 | pin_thickness: 'auto' 107 | edge_fillet: 'auto' 108 | rotation: 0 109 | source: 'http://www.topline.tv/SizeChart.html' 110 | 111 | C_2220_5650Metric: 112 | length: 5.6 113 | width: 5.0 114 | height: 2.9 115 | pin_band: 0.5 116 | pin_thickness: 'auto' 117 | edge_fillet: 'auto' 118 | rotation: 0 119 | source: 'http://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GA355XR7GB563KW06-01.pdf' 120 | 121 | C_2225_5664Metric: 122 | length: 5.6 123 | width: 6.4 124 | height: 3.4 125 | pin_band: 0.8 126 | pin_thickness: 'auto' 127 | edge_fillet: 'auto' 128 | rotation: 0 129 | source: 'http://datasheets.avx.com/HV-FlexitermMLCC.pdf' 130 | 131 | C_2512_6332Metric: 132 | length: 6.3 133 | width: 3.2 134 | height: 3.2 135 | pin_band: 0.8 136 | pin_thickness: 'auto' 137 | edge_fillet: 'auto' 138 | rotation: 0 139 | source: 'None' 140 | 141 | C_2816_7142Metric: 142 | length: 7.1 143 | width: 4.2 144 | height: 4.0 145 | pin_band: 0.8 146 | pin_thickness: 'auto' 147 | edge_fillet: 'auto' 148 | rotation: 0 149 | source: 'None' 150 | 151 | C_3640_9110Metric: 152 | length: 9.14 153 | width: 10.2 154 | height: 2.54 155 | pin_band: 1.2 156 | pin_thickness: 'auto' 157 | edge_fillet: 'auto' 158 | rotation: 0 159 | source: 'http://datasheets.avx.com/AVX-HV_MLCC.pdf' 160 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/phoenix_contact/cq_parameters.py: -------------------------------------------------------------------------------- 1 | 2 | # -*- coding: utf8 -*- 3 | #!/usr/bin/python 4 | # 5 | # This is derived from a cadquery script for generating QFP/GullWings models in X3D format. 6 | # 7 | # from https://bitbucket.org/hyOzd/freecad-macros 8 | # author hyOzd 9 | # 10 | # Dimensions are from Jedec MS-026D document. 11 | 12 | ## file of parametric definitions 13 | 14 | import collections 15 | from collections import namedtuple 16 | 17 | footprints_dir="TerminalBlock_Altech.pretty" 18 | 19 | ##enabling optional/default values to None 20 | def namedtuple_with_defaults(typename, field_names, default_values=()): 21 | 22 | T = collections.namedtuple(typename, field_names) 23 | T.__new__.__defaults__ = (None,) * len(T._fields) 24 | if isinstance(default_values, collections.Mapping): 25 | prototype = T(**default_values) 26 | else: 27 | prototype = T(*default_values) 28 | T.__new__.__defaults__ = tuple(prototype) 29 | return T 30 | 31 | Params = namedtuple_with_defaults("Params", [ 32 | 'manufacture', # Manufacture 33 | 'serie', # ModelName 34 | 'W', # package width 35 | 'H', # package height 36 | 'WD', # > Y distance form pin center to package edge 37 | 'A1', # package board seperation 38 | 'pin_number', # Pin number serie 39 | 'PE', # Distance from edge to pin 40 | 'PS', # Pin distance 41 | 'PD', # Pin diameter 42 | 'PL', # Pin length 43 | 'PF', # Pin form 44 | 'SW', # Blender width 45 | 'rotation', # Rotation 46 | 'body_color_key', # Body colour 47 | 'pin_color_key', # Pin colour 48 | 'dest_dir_prefix' # Destination directory 49 | ]) 50 | 51 | all_params = { 52 | 53 | 'AK300': Params( # ModelName 54 | # 55 | # 56 | # 57 | manufacture = 'Altech', # Manufacture name 58 | serie = 'AK300', # Model name 59 | W = 12.5, # Package width 60 | H = 12.5, # Package height 61 | WD = 6.5, # > Y distance form pin center to package edge 62 | A1 = 0.1, # package board seperation 63 | # pin_number = [ 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24], # Which pin configuration 64 | pin_number = [ 2,3], # Which pin configuration 65 | PE = 2.5, # Distance from edge to pin 66 | PS = 5.0, # Distance between pins 67 | PD = [1.0, 0.8], # Pin size, [1.0] diameter 1 mm, [1.0, 0.8] rectangle 1.0x0.8 68 | PL = 4.5, # Pin length 69 | PF = 'rect', # Pin form 'round' or 'rect' 70 | SW = 2.7, # Blender width 71 | rotation = 0, # Rotation if required 72 | body_color_key = 'black body', # Body color 73 | pin_color_key = 'metal grey pins', # Pin color 74 | dest_dir_prefix = 'TerminalBlock_Altech.3dshapes' # Destination directory 75 | ), 76 | 77 | 78 | 'MKDS_1_5': Params( # ModelName 79 | # 80 | # 81 | # 82 | manufacture = 'TerminalBlock_Phoenix', # Manufacture name 83 | serie = 'MKDS-1,5', # Model name 84 | W = 9.8, # Package width 85 | H = 13.8, # Package height 86 | WD = 4.6, # > Y distance form pin center to package edge 87 | A1 = 0.1, # package board seperation 88 | pin_number = [ 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16], # Which pin configuration 89 | PE = 2.54, # Distance from edge to pin 90 | PS = 5.08, # Distance between pins 91 | PD = [1.0, 0.8], # Pin size, [1.0] diameter 1 mm, [1.0, 0.8] rectangle 1.0x0.8 92 | PL = 3.5, # Pin length 93 | PF = 'rect', # Pin form 'round' or 'rect' 94 | SW = 2.7, # Blender width 95 | rotation = 0, # Rotation if required 96 | body_color_key = 'green body', # Body color 97 | pin_color_key = 'metal grey pins', # Pin color 98 | dest_dir_prefix = 'TerminalBlock_Phoenix.3dshapes' # Destination directory 99 | ), 100 | 101 | } 102 | -------------------------------------------------------------------------------- /cadquery/cq-ex2.FCMacro: -------------------------------------------------------------------------------- 1 | # -*- coding: utf8 -*- 2 | # This is a FreeCAD & cadquery script for generating 3 | # Chip capacitors models in STEP & VRML format. 4 | # 5 | # Dimensions are from DS document. 6 | # Maurice easyw@launchpad 7 | 8 | 9 | import FreeCAD, Draft, FreeCADGui 10 | import Idf 11 | import ImportGui 12 | 13 | from CQGui.Command import * 14 | 15 | #Gui.SendMsgToActiveView("Run") 16 | Gui.activateWorkbench("CadQueryWorkbench") 17 | import FreeCADGui as Gui 18 | 19 | import cadquery 20 | from Helpers import show 21 | 22 | #Getting the main window will allow us to start setting things up the way we want 23 | mw = FreeCADGui.getMainWindow() 24 | 25 | #Adjust the docks as usual 26 | dockWidgets = mw.findChildren(QtGui.QDockWidget) 27 | for widget in dockWidgets: 28 | if (widget.objectName() == "Report view") or (widget.objectName() == "Python console") or (widget.objectName() == "Combo View"): 29 | widget.setVisible(True) 30 | if (widget.objectName()=="cqCodeView"): 31 | widget.setVisible(False) 32 | 33 | 34 | ## 35 | ### Parametric Values 36 | ## 37 | ModelName = "c_1206_base_model" 38 | # Setup parameters related to the chip component body 39 | L=3.05 #pkg Body Length 40 | W=1.52 #pkg Body Width 41 | H=1.06 #pkg Height 42 | 43 | color=(0.67,0.33,0.00) 44 | 45 | 46 | 47 | Newdoc = FreeCAD.newDocument(ModelName) 48 | App.setActiveDocument(ModelName) 49 | Gui.ActiveDocument=Gui.getDocument(ModelName) 50 | 51 | 52 | # The dimensions of the box. These can be modified rather than changing the 53 | # object's code directly. 54 | 55 | # Create a 3D box based on the dimension variables above 56 | result = cadquery.Workplane("XY").box(L, W, H) 57 | 58 | # Render the solid 59 | show(result) 60 | 61 | 62 | # Create list of objects, starting with object names 63 | objs=[] 64 | doc = FreeCAD.ActiveDocument 65 | FreeCAD.ActiveDocument.Label=ModelName 66 | i=0 67 | for obj in doc.Objects: 68 | # do what you want to automate 69 | objs.append(App.ActiveDocument.getObject(obj.Name)) 70 | obj.Label=ModelName 71 | 72 | Gui.ActiveDocument.getObject(obj.Name).ShapeColor = color 73 | 74 | #moving to plane Z 75 | FreeCAD.getDocument(ModelName).getObject(obj.Name).Placement = App.Placement(App.Vector(0,0,H/2),App.Rotation(App.Vector(0,0,1),0)) 76 | Gui.SendMsgToActiveView("ViewFit") 77 | 78 | ## Export to STEP 79 | StepFileName='.//'+doc.Label+'.step' 80 | import ImportGui 81 | ImportGui.export(objs,StepFileName) 82 | 83 | ## Export to VRML scaled 1/2.54 84 | VrmlFileName='.//'+doc.Label+'.wrl' 85 | 86 | App.ActiveDocument.addObject('Part::Feature','Vrml_model').Shape=objs[0].Shape 87 | App.ActiveDocument.ActiveObject.Label='Vrml_model' 88 | Gui.ActiveDocument.ActiveObject.ShapeColor=Gui.getDocument(doc.Name).getObject(objs[0].Name).ShapeColor 89 | Gui.ActiveDocument.ActiveObject.LineColor=Gui.getDocument(doc.Name).getObject(objs[0].Name).LineColor 90 | Gui.ActiveDocument.ActiveObject.PointColor=Gui.getDocument(doc.Name).getObject(objs[0].Name).PointColor 91 | Gui.ActiveDocument.ActiveObject.DiffuseColor=Gui.getDocument(doc.Name).getObject(objs[0].Name).DiffuseColor 92 | App.ActiveDocument.recompute() 93 | newObj=FreeCAD.getDocument(doc.Name).getObject('Vrml_model') 94 | #scale to export vrml start 95 | Draft.scale(newObj, App.Vector(0.3937001,0.3937001,0.3937001),center=App.Vector(0,0,0)) 96 | 97 | App.activeDocument().recompute() 98 | #we need to remove object to export only scaled model 99 | FreeCAD.getDocument(doc.Name).removeObject(objs[0].Name) 100 | __objs__=[] 101 | __objs__.append(FreeCAD.getDocument(doc.Name).getObject("Vrml_model")) 102 | App.Gui.export(__objs__,VrmlFileName) 103 | App.activeDocument().recompute() 104 | 105 | #restoring step module 106 | import ImportGui 107 | ImportGui.insert(StepFileName,doc.Name) 108 | 109 | FreeCAD.Console.PrintMessage(App.ActiveDocument.ActiveObject.Label+" exported and scaled to Vrml\r\n") 110 | del __objs__ 111 | 112 | ## Save to disk in native format 113 | App.ActiveDocument=None 114 | Gui.ActiveDocument=None 115 | App.setActiveDocument(doc.Name) 116 | App.ActiveDocument=App.getDocument(doc.Name) 117 | Gui.ActiveDocument=Gui.getDocument(doc.Name) 118 | 119 | App.getDocument(doc.Name).saveAs('.//'+doc.Label+'.FCStd') 120 | App.ActiveDocument.recompute() 121 | 122 | App.getDocument(doc.Name).Label = doc.Name 123 | Gui.SendMsgToActiveView("Save") 124 | App.getDocument(doc.Name).save() 125 | 126 | del objs 127 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Battery/cq_Seiko_MSXXXX.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | import battery_common 5 | from battery_common import * 6 | 7 | 8 | def make_case_Seiko_MS621F(params): 9 | 10 | A1 = params.A1 # Body PCB seperation 11 | D = params.D # Battery diameter 12 | H = params.H # Battery height 13 | PL = params.PL # Pad length 14 | PW = params.PW # Pad width 15 | RW = params.RW # Right width 16 | MT = params.MT # Metal thickness 17 | rotation = params.rotation # Rotation if required 18 | 19 | D2 = D * 0.8 20 | H2 = 0.075 21 | D3 = D * 0.78 22 | H3 = 0.23 23 | # 24 | H1 = H - ((2.0 * MT) + H2 + H3) 25 | D1 = D 26 | 27 | dh = MT 28 | # 29 | # Create body 30 | # 31 | case = cq.Workplane("XY").workplane(offset=dh).moveTo(0.0, 0.0).circle(D3 / 2.0, False).extrude(H3) 32 | case.edges("Z").fillet(H1 / 20.0) 43 | case = case.union(case1) 44 | dh = dh + H1 45 | 46 | # 47 | x = PW / 2.0 48 | cx = (x - RW) - (D1 / 2.0) 49 | 50 | case = case.translate((cx, 0.0, A1)) 51 | 52 | if (rotation != 0): 53 | case = case.rotate((0,0,0), (0,0,1), rotation) 54 | 55 | return (case) 56 | 57 | 58 | def make_pins_Seiko_MS621F(params): 59 | 60 | A1 = params.A1 # Body PCB seperation 61 | D = params.D # Battery diameter 62 | H = params.H # Battery height 63 | PL = params.PL # Pad length 64 | PW = params.PW # Pad width 65 | RW = params.RW # Right width 66 | RW1 = params.RW1 # Right width 1 67 | MT = params.MT # Metal thickness 68 | rotation = params.rotation # Rotation if required 69 | 70 | TL = 0.5 # the width of the tounghs 71 | D2 = D * 0.8 72 | H2 = 0.075 73 | D3 = D * 0.78 74 | H3 = 0.23 75 | # 76 | H1 = H - ((2.0 * MT) + H2 + H3) 77 | D1 = D 78 | # 79 | x = PW / 2.0 80 | cx = (x - RW) - (D1 / 2.0) 81 | 82 | dh = MT 83 | 84 | # 85 | pts = [] 86 | pts.append((0.0, 0.0 - PL)) 87 | pts.append((D3 * 0.9 + ((D1 - D3) / 2.0) + RW, 0.0 - PL)) 88 | pts.append((D3 * 0.9 + ((D1 - D3) / 2.0) + RW, 0.0 - (PL - TL))) 89 | pts.append((D3 * 0.9 + ((D1 - D3) / 2.0), 0.0 - (PL - TL))) 90 | pts.append(((D3 * 0.9 + ((D1 -D3) / 2.0)) - (PL - TL), 0.0)) 91 | pin = cq.Workplane("XY").workplane(offset=0.0).polyline(pts).close().extrude(MT) 92 | 93 | x = 0.0 - (D3 * 0.9 + ((D1 - D3) / 2.0) + RW) 94 | x = x + (PW / 2.0) 95 | 96 | pin = pin.translate((x, (PL / 2.0), A1)) 97 | 98 | # 99 | pts = [] 100 | pts.append((0.0, MT)) 101 | pts.append((0.0 - (RW1 - MT), MT)) 102 | pts.append((0.0 - (RW1 - MT), H)) 103 | pts.append((0.0 - (RW1 - MT) - (RW - RW1) - (D1 * 0.6), H)) 104 | pts.append((0.0 - (RW1 - MT) - (RW - RW1) - (D1 * 0.6), H - MT)) 105 | pts.append((0.0 - RW1, H - MT)) 106 | pts.append((0.0 - RW1, 0.0)) 107 | pin1 = cq.Workplane("XZ").workplane(offset=0.0).polyline(pts).close().extrude(PL) 108 | 109 | case21 = cq.Workplane("XY").workplane(offset=0.0 - MT).moveTo(0.0 - (PW / 2.0), 0.0 - 1.5).rect(2.0 * PW, PL).extrude(2.0 * MT) 110 | pin1 = pin1.cut(case21) 111 | 112 | case21 = cq.Workplane("XY").workplane(offset=0.0).moveTo(0.0 - RW1 - (MT / 4.0), 0.0).rect(1.5 * MT, 0.0 - (2.0 * PL), centered=False).extrude(0.0 - PL) 113 | case21 = case21.rotate((0,0,0), (1, 0, 0), 0.0 - 45.0) 114 | case21 = case21.translate((0.0, 0.0 - TL, MT)) 115 | pin1 = pin1.cut(case21) 116 | 117 | pin1 = pin1.translate((PW / 2.0, PL / 2.0, A1)) 118 | pin1.faces(">Z").edges(">X").fillet((MT / 2.0)) 119 | pin = pin.union(pin1) 120 | 121 | if (rotation != 0): 122 | pin = pin.rotate((0,0,0), (0,0,1), rotation) 123 | 124 | return (pin) 125 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Battery/battery_caseBX0036.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | import battery_common 5 | from battery_common import * 6 | 7 | 8 | def make_case_BX0036(params): 9 | 10 | manufacture = params.manufacture # Model name 11 | serie = params.serie # Model name 12 | cellsize = params.cellsize # Battery type 13 | cellcnt = params.cellcnt # Number of battery 14 | L = params.L # Package width 15 | W = params.W # Package width 16 | H = params.H # Package height 17 | A1 = params.A1 # package board seperation 18 | pins = params.pins # Pins tht/smd, x pos, y pos, 'round/rect', diameter/x size, y size, length 19 | npthpins = params.npthpins # npth holes 20 | socket = params.socket # 'type', centre diameter, length, height 21 | topear = params.topear # Top ear 22 | rotation = params.rotation # Rotation if required 23 | modelname = params.modelname # Model name 24 | 25 | A11 = get_body_offset(params) 26 | # 27 | # 28 | p = pins[0] 29 | x1 = p[1] 30 | yy = p[2] 31 | # 32 | p = pins[1] 33 | x2 = p[1] 34 | # 35 | xx = x1 - ((L - (x2 - x1)) / 2.0) 36 | 37 | pts = [] 38 | pts.append((xx, 0.0)) 39 | # 40 | pts.append((xx, 0.0 + H)) 41 | # 42 | pts.append((xx + 3.0, 0.0 + H)) 43 | # 44 | pts.append((xx + 3.0, 0.0 + 11.0)) 45 | # 46 | pts.append((xx + 3.0 + 6.0, 0.0 + 5.0)) 47 | # 48 | pts.append((xx + L - (3.0 + 6.0), 0.0 + 5.0)) 49 | # 50 | pts.append((xx + L - (3.0), 0.0 + 11.0)) 51 | # 52 | pts.append((xx + L - (3.0), 0.0 + H)) 53 | # 54 | pts.append((xx + L, 0.0 + H)) 55 | # 56 | pts.append((xx + L, 0.0)) 57 | # 58 | # pts.append((xx + 0.0001, A1 + A11)) 59 | 60 | case = cq.Workplane("XZ").workplane(offset = 0.0 - (W / 2.0)).polyline(pts).close().extrude(W) 61 | case = case.translate((0.0, 0.0, A1 + A11)) 62 | 63 | tx = ((x2 - x1) / 2.0) + x1 64 | case1 = cq.Workplane("XY").workplane(offset=A1 + A11 + 3.0).moveTo(tx, yy).rect(L - 6.0, W - 12.0).extrude(H) 65 | case = case.cut(case1) 66 | # 67 | case1 = cq.Workplane("XY").workplane(offset=A1 + A11 + 5.0).moveTo(tx, yy).rect(L - 6.0, W - 2.0).extrude(H) 68 | case = case.cut(case1) 69 | 70 | case1 = cq.Workplane("XY").workplane(offset=A1 + A11).moveTo((L / 2.0) - 3.0, 0.0 - ((W / 2.0) - 1.5)).rect(6, 3.0).extrude(H) 71 | case1 = case1.faces(">Z").edges(">Y").chamfer(2.0) 72 | case = case.union(case1) 73 | 74 | case1 = cq.Workplane("XY").workplane(offset=A1 + A11).moveTo((L / 2.0) + 3.0, ((W / 2.0) - 1.5)).rect(6, 3.0).extrude(H) 75 | case1 = case1.faces(">Z").edges(" 0.01): 110 | case = case.rotate((0,0,0), (0,0,1), rotation) 111 | 112 | return (case) 113 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/molex/README.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice, for model authors see cq_models files 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD 0.17 (for geometry check) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py [optional paramemters] + 56 | examples: + 57 | +[freecad bin] main_generator.py ?+ + 58 | +[freecad bin] main_generator.py series=6410+ + 59 | +[freecad bin] main_generator.py series=6410 pins_filter=[2-4]+ + 60 | +[freecad bin] main_generator.py+ + 61 | 62 | [freecad bin]: this is operating system dependend. + 63 | +for windows: c:\freecad\bin\freecad (depends on installation settings)+ + 64 | +for linux: freecad, freecad-daily or FreeCAD+ + 65 | 66 | or simply run the 'create_model' script/batch + 67 | 68 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 69 | If you do, run the following command line from a terminal to fix this issue. + 70 | +sudo apt-get install python-pyside.qtnetwork+ 71 | 72 | 73 | 74 | credits 75 | ------- 76 | 77 | FreeCAD & cadquery tools: + 78 | libraries to export generated models in STEP & VRML format + 79 | - cad tools functions + 80 | Main author *Maurice* link:https://github.com/easyw[] + 81 | + 82 | starting from work of author *hyOzd* + 83 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 84 | 85 | [[copyright]] 86 | Copyright 87 | --------- 88 | 89 | This document '{docname}' and all the materials and files at the repository are + 90 | Copyrighted © 2015 by {Author}. + 91 | You may distribute it and/or modify it under the terms of either 92 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 93 | version 2, or the Creative Commons Attribution License 94 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 95 | 96 | All trademarks within this guide belong to their legitimate owners. 97 | 98 | Risk disclaimer 99 | --------------- 100 | 101 | *USE 3D CAD DATA AT YOUR OWN RISK + 102 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 103 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Box_Headers/README.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD 0.15 (best for step single object result) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py modelName + 56 | examples in win: + 57 | +c:\freecad\bin\freecad main_generator.py 10+ + 58 | +c:\freecad\bin\freecad main_generator.py all+ + 59 | in linux: + 60 | +freecad ./main_generator.py 10+ + 61 | +freecad ./main_generator.py all+ + 62 | or simply run the 'create_model' script/batch + 63 | 64 | 65 | modelName and parameters are described in: + 66 | 1. cq_parameters.py file in their relative DIR 67 | all data in parameter files are collected from components data sheets + 68 | ##the script will generate STEP and VRML parametric models## 69 | ready to be used with kicad StepUp script 70 | 71 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 72 | If you do, run the following command line from a terminal to fix this issue. + 73 | +sudo apt-get install python-pyside.qtnetwork+ 74 | 75 | 76 | 77 | credits 78 | ------- 79 | 80 | FreeCAD & cadquery tools: + 81 | libraries to export generated models in STEP & VRML format + 82 | - cad tools functions + 83 | Main author *Maurice* link:https://github.com/easyw[] + 84 | + 85 | starting from work of author *hyOzd* + 86 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 87 | 88 | [[copyright]] 89 | Copyright 90 | --------- 91 | 92 | This document '{docname}' and all the materials and files at the repository are + 93 | Copyrighted © 2015 by {Author}. + 94 | You may distribute it and/or modify it under the terms of either 95 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 96 | version 2, or the Creative Commons Attribution License 97 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 98 | 99 | All trademarks within this guide belong to their legitimate owners. 100 | 101 | Risk disclaimer 102 | --------------- 103 | 104 | *USE 3D CAD DATA AT YOUR OWN RISK + 105 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 106 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/L_Chip_SMD/README.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD 0.15 (best for step single object result) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py modelName + 56 | examples in win: + 57 | +c:\freecad\bin\freecad main_generator.py 0402+ + 58 | +c:\freecad\bin\freecad main_generator.py all+ + 59 | in linux: + 60 | +freecad ./main_generator.py 0402+ + 61 | +freecad ./main_generator.py all+ + 62 | or simply run the 'create_model' script/batch + 63 | 64 | 65 | modelName and parameters are described in: + 66 | 1. cq_parameters.py file in their relative DIR 67 | all data in parameter files are collected from components data sheets + 68 | ##the script will generate STEP and VRML parametric models## 69 | ready to be used with kicad StepUp script 70 | 71 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 72 | If you do, run the following command line from a terminal to fix this issue. + 73 | +sudo apt-get install python-pyside.qtnetwork+ 74 | 75 | 76 | 77 | credits 78 | ------- 79 | 80 | FreeCAD & cadquery tools: + 81 | libraries to export generated models in STEP & VRML format + 82 | - cad tools functions + 83 | Main author *Maurice* link:https://github.com/easyw[] + 84 | + 85 | starting from work of author *hyOzd* + 86 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 87 | 88 | [[copyright]] 89 | Copyright 90 | --------- 91 | 92 | This document '{docname}' and all the materials and files at the repository are + 93 | Copyrighted © 2015 by {Author}. + 94 | You may distribute it and/or modify it under the terms of either 95 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 96 | version 2, or the Creative Commons Attribution License 97 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 98 | 99 | All trademarks within this guide belong to their legitimate owners. 100 | 101 | Risk disclaimer 102 | --------------- 103 | 104 | *USE 3D CAD DATA AT YOUR OWN RISK + 105 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 106 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/C_Chip_SMD/README.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD >=0.18.4 (best for step single object result) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py modelName + 56 | examples in win: + 57 | +c:\freecad\bin\freecad main_generator.py 0402+ + 58 | +c:\freecad\bin\freecad main_generator.py all+ + 59 | in linux: + 60 | +freecad ./main_generator.py 0402+ + 61 | +freecad ./main_generator.py all+ + 62 | or simply run the 'create_model' script/batch + 63 | 64 | 65 | modelName and parameters are described in: + 66 | 1. cq_parameters.py file in their relative DIR 67 | all data in parameter files are collected from components data sheets + 68 | ##the script will generate STEP and VRML parametric models## 69 | ready to be used with kicad StepUp script 70 | 71 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 72 | If you do, run the following command line from a terminal to fix this issue. + 73 | +sudo apt-get install python-pyside.qtnetwork+ 74 | 75 | 76 | 77 | credits 78 | ------- 79 | 80 | FreeCAD & cadquery tools: + 81 | libraries to export generated models in STEP & VRML format + 82 | - cad tools functions + 83 | Main author *Maurice* link:https://github.com/easyw[] + 84 | + 85 | starting from work of author *hyOzd* + 86 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 87 | 88 | [[copyright]] 89 | Copyright 90 | --------- 91 | 92 | This document '{docname}' and all the materials and files at the repository are + 93 | Copyrighted © 2015 by {Author}. + 94 | You may distribute it and/or modify it under the terms of either 95 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 96 | version 2, or the Creative Commons Attribution License 97 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 98 | 99 | All trademarks within this guide belong to their legitimate owners. 100 | 101 | Risk disclaimer 102 | --------------- 103 | 104 | *USE 3D CAD DATA AT YOUR OWN RISK + 105 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 106 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Directfet_SMD/README.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD 0.15 (best for step single object result) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py modelName + 56 | examples in win: + 57 | +c:\freecad\bin\freecad main_generator.py 0402+ + 58 | +c:\freecad\bin\freecad main_generator.py all+ + 59 | in linux: + 60 | +freecad ./main_generator.py 0402+ + 61 | +freecad ./main_generator.py all+ + 62 | or simply run the 'create_model' script/batch + 63 | 64 | 65 | modelName and parameters are described in: + 66 | 1. cq_parameters.py file in their relative DIR 67 | all data in parameter files are collected from components data sheets + 68 | ##the script will generate STEP and VRML parametric models## 69 | ready to be used with kicad StepUp script 70 | 71 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 72 | If you do, run the following command line from a terminal to fix this issue. + 73 | +sudo apt-get install python-pyside.qtnetwork+ 74 | 75 | 76 | 77 | credits 78 | ------- 79 | 80 | FreeCAD & cadquery tools: + 81 | libraries to export generated models in STEP & VRML format + 82 | - cad tools functions + 83 | Main author *Maurice* link:https://github.com/easyw[] + 84 | + 85 | starting from work of author *hyOzd* + 86 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 87 | 88 | [[copyright]] 89 | Copyright 90 | --------- 91 | 92 | This document '{docname}' and all the materials and files at the repository are + 93 | Copyrighted © 2015 by {Author}. + 94 | You may distribute it and/or modify it under the terms of either 95 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 96 | version 2, or the Creative Commons Attribution License 97 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 98 | 99 | All trademarks within this guide belong to their legitimate owners. 100 | 101 | Risk disclaimer 102 | --------------- 103 | 104 | *USE 3D CAD DATA AT YOUR OWN RISK + 105 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 106 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Fuse/README_SMD.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD 0.15 (best for step single object result) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py modelName + 56 | examples in win: + 57 | +c:\freecad\bin\freecad main_generator.py R_0402+ + 58 | +c:\freecad\bin\freecad main_generator.py all+ + 59 | in linux: + 60 | +freecad ./main_generator.py R_0402+ + 61 | +freecad ./main_generator.py all+ + 62 | or simply run the 'create_model' script/batch + 63 | 64 | 65 | modelName and parameters are described in: + 66 | 1. cq_parameters.py file in their relative DIR 67 | all data in parameter files are collected from components data sheets + 68 | ##the script will generate STEP and VRML parametric models## 69 | ready to be used with kicad StepUp script 70 | 71 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 72 | If you do, run the following command line from a terminal to fix this issue. + 73 | +sudo apt-get install python-pyside.qtnetwork+ 74 | 75 | 76 | 77 | credits 78 | ------- 79 | 80 | FreeCAD & cadquery tools: + 81 | libraries to export generated models in STEP & VRML format + 82 | - cad tools functions + 83 | Main author *Maurice* link:https://github.com/easyw[] + 84 | + 85 | starting from work of author *hyOzd* + 86 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 87 | 88 | [[copyright]] 89 | Copyright 90 | --------- 91 | 92 | This document '{docname}' and all the materials and files at the repository are + 93 | Copyrighted © 2015 by {Author}. + 94 | You may distribute it and/or modify it under the terms of either 95 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 96 | version 2, or the Creative Commons Attribution License 97 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 98 | 99 | All trademarks within this guide belong to their legitimate owners. 100 | 101 | Risk disclaimer 102 | --------------- 103 | 104 | *USE 3D CAD DATA AT YOUR OWN RISK + 105 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 106 | -------------------------------------------------------------------------------- /cadquery/FCAD_script_generator/Inductors_SMD/README.adoc: -------------------------------------------------------------------------------- 1 | STEP AP214 and VRML FreeCAD script generator 2 | ============================================ 3 | :Author: Maurice 4 | :Email: https://github.com/easyw 5 | :Date: March 2017 6 | :Revision: 1.5.1 7 | :website: https://github.com/easyw/kicad-3d-models-in-freecad/ 8 | :docname: README.adoc 9 | 10 | this repository + 11 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 12 | is a place to find STEP AP214 3D models and VRML kicad 3D models 13 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 14 | *STEP and VRML parametric models* for + 15 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* 16 | 17 | All the STEP and VRML models can be used with kicad new stable release (August 2015) 18 | and are ready to be used with Kicad StepUp script + 19 | *kicad StepUp* is a new approach to export kicad board and modules in STEP AP214 (with colors). 20 | With kicad StepUp it is possible to export the 3D board and modules in STEP 21 | for MCAD interchange and create the 3D wrl libraries. + 22 | link:http://sourceforge.net/projects/kicadstepup/[kicadStepUp at sourceforge] + 23 | link:http://bazaar.launchpad.net/~easyw/kicad-stepup/trunk/files/[kicadStepUp at lauchpad] + 24 | link:http://youtu.be/Ukd47VXYzQU[YouTube Kicad StepUp demo video] 25 | 26 | .REQUIREMENTS 27 | * FreeCAD 0.15 (best for step single object result) 28 | * CadQuery 0.5.2 29 | 30 | <<< 31 | 32 | .OverView of the parametric scripts 33 | ********************************************************************** 34 | this repository + 35 | link:https://github.com/easyw/kicad-3d-models-in-freecad/[] + 36 | is a place to find STEP AP214 3D models and VRML kicad 3D models; + 37 | under *''cadquery'' DIR*, there are some nice scripts that can generate + 38 | *STEP and VRML parametric models* for + 39 | *GullWings ICs, DIP ICS, Chip Capacitors, Chip resistors, pin-strip headers* ready to go for *kicad StepUp script* 40 | 41 | The parametric scripts are derived from CadQuery scripts for generating QFP, DIP and pinHeaders 42 | models in X3D format. + 43 | author *hyOzd* + 44 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] 45 | 46 | ## requirements ## + 47 | link:https://github.com/jmwright/cadquery-freecad-module/archive/master.zip/[CadQuery module] version 0.52 + 48 | link:http://freecadweb.org/[FreeCAD] version 0.15 or later 49 | 50 | ********************************************************************** 51 | Running the scripts 52 | ------------------- 53 | 54 | to run the script just move to the scripts dir and do: + 55 | freecad ./main_generator.py modelName + 56 | examples in win: + 57 | +c:\freecad\bin\freecad main_generator.py 0402+ + 58 | +c:\freecad\bin\freecad main_generator.py all+ + 59 | in linux: + 60 | +freecad ./main_generator.py 0402+ + 61 | +freecad ./main_generator.py all+ + 62 | or simply run the 'create_model' script/batch + 63 | 64 | 65 | modelName and parameters are described in: + 66 | 1. cq_parameters.py file in their relative DIR 67 | all data in parameter files are collected from components data sheets + 68 | ##the script will generate STEP and VRML parametric models## 69 | ready to be used with kicad StepUp script 70 | 71 | [red]*Note:* You may get a 'No module named QtNetwork' error on Ubuntu based systems when you select the module in FreeCAD. 72 | If you do, run the following command line from a terminal to fix this issue. + 73 | +sudo apt-get install python-pyside.qtnetwork+ 74 | 75 | 76 | 77 | credits 78 | ------- 79 | 80 | FreeCAD & cadquery tools: + 81 | libraries to export generated models in STEP & VRML format + 82 | - cad tools functions + 83 | Main author *Maurice* link:https://github.com/easyw[] + 84 | + 85 | starting from work of author *hyOzd* + 86 | author site: link:https://bitbucket.org/hyOzd/freecad-macros/[] + 87 | 88 | [[copyright]] 89 | Copyright 90 | --------- 91 | 92 | This document '{docname}' and all the materials and files at the repository are + 93 | Copyrighted © 2015 by {Author}. + 94 | You may distribute it and/or modify it under the terms of either 95 | the GNU Affero General Public License (http://www.gnu.org/licenses/gpl.html), 96 | version 2, or the Creative Commons Attribution License 97 | (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. 98 | 99 | All trademarks within this guide belong to their legitimate owners. 100 | 101 | Risk disclaimer 102 | --------------- 103 | 104 | *USE 3D CAD DATA AT YOUR OWN RISK + 105 | DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.* 106 | --------------------------------------------------------------------------------