Merge remote-tracking branch 'origin/main' into feat/kcsdk-finalize
All checks were successful
Build and Test / build (pull_request) Successful in 29m7s

# Conflicts:
#	mods/sdk/kindred_sdk/context.py
#	mods/sdk/kindred_sdk/dock.py
#	mods/sdk/kindred_sdk/menu.py
#	mods/sdk/kindred_sdk/origin.py
#	mods/sdk/kindred_sdk/toolbar.py
This commit is contained in:
2026-03-02 12:32:48 -06:00
81 changed files with 208 additions and 4900 deletions

View File

@@ -1588,12 +1588,15 @@ else(WIN32)
INSTALL(TARGETS FreeCADGui
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps RENAME org.freecad.FreeCAD.png)
INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps RENAME org.freecad.FreeCAD.png)
INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps RENAME org.freecad.FreeCAD.png)
INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps RENAME org.freecad.FreeCAD.png)
INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME org.freecad.FreeCAD.svg)
INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/16x16/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/32x32/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/48x48/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/64x64/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/128x128/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/256x256/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/512x512/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/scalable/apps/kindred-create.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/scalable/apps/kindred-create.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg)
endif(WIN32)

View File

@@ -32,14 +32,15 @@ NOTE: To make sure FreeCAD saves thumbnail information:
Edit → Preferences → Document → Save thumbnail into project when saving document
"""
import getopt
import sys
import zipfile
import getopt
opt, par = getopt.getopt(sys.argv[1:], "-s:")
input_file = par[0]
output_file = par[1]
default_icon = "@CMAKE_INSTALL_DATAROOTDIR@/icons/hicolor/48x48/apps/org.freecad.FreeCAD.png"
default_icon = "@CMAKE_INSTALL_DATAROOTDIR@/icons/hicolor/48x48/apps/kindred-create.png"
try:
# Read compressed file

View File

@@ -12,30 +12,30 @@ if(NOT DEFINED APPDATA_RELEASE_DATE)
endif()
configure_file(
org.freecad.FreeCAD.metainfo.xml.in
${CMAKE_BINARY_DIR}/org.freecad.FreeCAD.metainfo.xml
kindred-create.metainfo.xml.in
${CMAKE_BINARY_DIR}/kindred-create.metainfo.xml
)
install(
FILES ${CMAKE_BINARY_DIR}/org.freecad.FreeCAD.metainfo.xml
FILES ${CMAKE_BINARY_DIR}/kindred-create.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
)
install(
FILES org.freecad.FreeCAD.desktop
FILES kindred-create.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
)
install(
FILES org.freecad.FreeCAD.xml
FILES kindred-create.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages
)
configure_file(
FreeCAD.thumbnailer.in
${CMAKE_BINARY_DIR}/FreeCAD.thumbnailer
kindred-create.thumbnailer.in
${CMAKE_BINARY_DIR}/kindred-create.thumbnailer
)
install(
FILES ${CMAKE_BINARY_DIR}/FreeCAD.thumbnailer
FILES ${CMAKE_BINARY_DIR}/kindred-create.thumbnailer
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers
)

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
Name=Kindred Create
GenericName=CAD Application
Comment=Parametric 3D CAD modeler based on FreeCAD
Exec=kindred-create %U
Icon=kindred-create
Terminal=false
Type=Application
Categories=Graphics;Science;Engineering;
MimeType=application/x-extension-fcstd;application/x-kindred-create;x-scheme-handler/kindred;
Keywords=CAD;3D;modeling;engineering;design;parametric;
StartupNotify=true
StartupWMClass=KindredCreate

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>kindred-create</id>
<project_license>LGPL-2.1-or-later</project_license>
<metadata_license>CC0-1.0</metadata_license>
<developer_name>Kindred Systems</developer_name>
<launchable type="desktop-id">kindred-create.desktop</launchable>
<name>Kindred Create</name>
<summary>Parametric 3D CAD modeler for professional engineering workflows</summary>
<description>
<p>
Kindred Create is a parametric 3D CAD modeler built for professional engineering
workflows. Based on FreeCAD, it adds a context-aware UI system, integrated PLM
connectivity via Silo, and a pluggable file origin layer on top of FreeCAD's
parametric modeling core.
</p>
<p>
Create constrained 2D sketches as the basis for 3D models, use PartDesign for
feature-based solid modeling, and assemble multi-part designs with the Assembly
workbench. Kindred Create supports STEP, IGES, STL, OBJ, DXF, and other standard
CAD formats.
</p>
</description>
<keywords>
<keyword>engineering</keyword>
<keyword translate="no">cad</keyword>
<keyword translate="no">design</keyword>
<keyword translate="no">3d</keyword>
<keyword translate="no">parametric-modeler</keyword>
<keyword>assembly</keyword>
<keyword>part</keyword>
<keyword translate="no">plm</keyword>
</keywords>
<url type="homepage">https://git.kindred-systems.com/kindred/create</url>
<url type="bugtracker">https://git.kindred-systems.com/kindred/create/issues</url>
<url type="vcs-browser">https://git.kindred-systems.com/kindred/create</url>
<url type="contribute">https://git.kindred-systems.com/kindred/create/src/branch/main/CONTRIBUTING.md</url>
<content_rating type="oars-1.1"/>
<releases>
<release version="@PACKAGE_VERSION@" date="@APPDATA_RELEASE_DATE@"/>
</releases>
</component>

View File

@@ -1,4 +1,4 @@
[Thumbnailer Entry]
TryExec=@CMAKE_INSTALL_BINDIR@/freecad-thumbnailer
Exec=@CMAKE_INSTALL_BINDIR@/freecad-thumbnailer -s %s %i %o
MimeType=application/x-extension-fcstd;
MimeType=application/x-extension-fcstd;application/x-kindred-create;

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-extension-fcstd">
<comment>FreeCAD Document</comment>
<comment xml:lang="en">FreeCAD Document</comment>
<icon name="kindred-create"/>
<glob pattern="*.FCStd"/>
<glob pattern="*.fcstd"/>
<glob pattern="*.FCSTD"/>
</mime-type>
<mime-type type="application/x-kindred-create">
<comment>Kindred Create Document</comment>
<comment xml:lang="en">Kindred Create Document</comment>
<icon name="kindred-create"/>
<glob pattern="*.kc"/>
<glob pattern="*.KC"/>
</mime-type>
</mime-info>

View File

@@ -1,22 +0,0 @@
[Desktop Entry]
Name=FreeCAD
Comment=Feature based Parametric Modeler
Comment[de]=Feature-basierter parametrischer Modellierer
Comment[es]=Modelador paramétrico basado en operaciones
Comment[ko]=형상 기반 파라메트릭 모델링 도구
Comment[pl]=Modeler parametryczny oparty na cechach
Comment[ru]=Система автоматизированного проектирования
GenericName=CAD Application
GenericName[de]=CAD-Anwendung
GenericName[es]=Aplicación CAD
GenericName[ko]=CAD 응용프로그램
GenericName[pl]=Aplikacja CAD
GenericName[ru]=Система автоматизированного проектирования
Exec=FreeCAD - --single-instance %F
Terminal=false
Type=Application
Icon=org.freecad.FreeCAD
Categories=Graphics;Science;Education;Engineering;X-CNC;
StartupNotify=true
StartupWMClass=FreeCAD
MimeType=application/x-extension-fcstd;model/obj;image/vnd.dwg;image/vnd.dxf;model/vnd.collada+xml;application/iges;model/iges;model/step;model/step+zip;model/stl;application/vnd.shp;model/vrml;

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>org.freecad.FreeCAD</id>
<project_license>LGPL-2.1</project_license>
<metadata_license>CC0-1.0</metadata_license>
<developer_name>The FreeCAD Team</developer_name>
<launchable type="desktop-id">org.freecad.FreeCAD.desktop</launchable>
<name>FreeCAD</name>
<summary>An open source parametric 3D CAD modeler</summary>
<description>
<p>
FreeCAD is an open-source parametric 3D modeler built to help you design real-world objects of
any size. With parametric modeling, you can easily modify your designs by adjusting parameters
in the model history. FreeCAD is suitable for a wide range of uses, from product design and
mechanical engineering to architecture and 3D printing.
</p>
<p>
The software allows you to create constrained 2D sketches, which can be used as the basis for more
complex 3D models. It includes tools to adjust dimensions, extract design details, and produce
production-ready technical drawings. FreeCAD is available on Windows, Mac, and Linux, and
supports various file formats like STEP, IGES, STL, SVG, DXF, OBJ, IFC, and more, making it easy to
fit into existing workflows. It also supports customization through Python scripting for those
who want to automate tasks or develop custom features.
</p>
<p>
FreeCAD offers several specialized workbenches, including tools for Finite Element Analysis
(FEA), Building Information Modeling (BIM), CAM / CNC and robot movement simulation. You can expand its
capabilities with add-ons, plugins, and macros created by the FreeCAD community, which can be
installed directly from the application. This flexibility makes it a practical choice for both
professionals and hobbyists.
</p>
</description>
<screenshots>
<screenshot type="default">
<caption>Part Design</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/partdesign.png</image>
</screenshot>
<screenshot>
<caption>Assembly</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/assembly.png</image>
</screenshot>
<screenshot>
<caption>BIM</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/bim.png</image>
</screenshot>
<screenshot>
<caption>FEM</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/fem.png</image>
</screenshot>
</screenshots>
<keywords>
<keyword>engineering</keyword>
<keyword translate="no">cad</keyword>
<keyword translate="no">bim</keyword>
<keyword translate="no">fea</keyword>
<keyword translate="no">fem</keyword>
<keyword translate="no">cam</keyword>
<keyword translate="no">cnc</keyword>
<keyword translate="no">design</keyword>
<keyword translate="no">3d</keyword>
<keyword translate="no">3d-printing</keyword>
<keyword translate="no">opencascade</keyword>
<keyword translate="no">parametric-modeler</keyword>
<keyword>architecture</keyword>
<keyword>assembly</keyword>
<keyword>part</keyword>
<keyword translate="no">coin</keyword>
</keywords>
<url type="homepage">https://www.freecad.org/</url>
<url type="bugtracker">https://github.com/FreeCAD/FreeCAD/issues</url>
<url type="faq">https://wiki.freecad.org/Frequently_asked_questions</url>
<url type="help">https://wiki.freecad.org/User_hub</url>
<url type="donation">https://www.freecad.org/sponsor.php</url>
<url type="translate">https://crowdin.com/project/freecad</url>
<url type="vcs-browser">https://github.com/FreeCAD/FreeCAD</url>
<url type="contribute">https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md</url>
<update_contact>yorik_AT_uncreated.net</update_contact>
<content_rating type="oars-1.1"/>
<releases>
<release version="@PACKAGE_VERSION@" date="@APPDATA_RELEASE_DATE@"/>
</releases>
</component>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-extension-fcstd">
<!-- <sub-class-of type="application/zip"/> -->
<comment>FreeCAD document files</comment>
<glob pattern="*.fcstd"/>
<generic-icon name="application-x-extension-fcstd"/>
</mime-type>
</mime-info>