Commit Graph

24 Commits

Author SHA1 Message Date
forbes
5c33aacecb feat(solver): refactor AssemblyObject to use IKCSolver interface (#295)
Rewire AssemblyObject to call through KCSolve::IKCSolver instead of
directly manipulating OndselSolver ASMT types.

Key changes:
- Remove all 30+ #include <OndselSolver/*> from AssemblyObject.cpp
- Remove MbDPartData, objectPartMap, mbdAssembly members
- Add solver_ (IKCSolver), lastResult_ (SolveResult), partIdToObjs_ maps
- New buildSolveContext() builds SolveContext from FreeCAD document objects
  with JointType/DistanceType -> BaseJointKind decomposition
- New computeMarkerTransform() replaces handleOneSideOfJoint()
- New computeRackPinionMarkers() replaces getRackPinionMarkers()
- Rewrite solve/preDrag/doDragStep/postDrag/generateSimulation to call
  through IKCSolver interface
- Rewrite setNewPlacements/validateNewPlacements to use SolveResult
- Rewrite updateSolveStatus to use ConstraintDiagnostic
- Add export_native() to IKCSolver for ASMT export support
- Register OndselAdapter at Assembly module init in AppAssembly.cpp
- Remove OndselSolver from Assembly_LIBS (linked transitively via KCSolve)

Assembly module now has zero OndselSolver includes. All solver coupling
is confined to KCSolve/OndselAdapter.cpp.
2026-02-19 16:43:52 -06:00
Markus Reitböck
59724846e3 Assembly: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
 should be considered an optimization, not a requirement. In particular, do not explicitly include a
 precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
 generated precompile header on the compiler command line instead. This is more portable across
 the major compilers and is likely to be easier to maintain. It will also avoid warnings being
 generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-23 22:39:34 +02:00
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Aik-Siong Koh
3326c33d83 Assembly: Simulation implementation 2024-12-03 20:07:04 +01:00
PaddleStroke
761e5a43e8 Assembly: AssemblyLinks. 2024-10-16 15:39:23 +02:00
PaddleStroke
3fa0b68878 Assembly: Implement Bill Of Materials (#14198)
* Assembly: Implementation of BOM

* Assembly: BOM: make it possible for BOM to be made without an assembly.
2024-06-17 11:16:32 -05:00
PaddleStroke
687843ff41 Assembly: Introduce 'Exploded Views' 2024-05-06 18:32:00 +02:00
Paddle
d77cd7acf5 Assembly: Introduce core functionality of assembly workbench. 2024-02-13 08:25:45 +01:00
Uwe
245f5b6c7d [Assembly] remove it
as discussed: https://forum.freecadweb.org/viewtopic.php?p=582152#p582152
2022-03-23 01:59:51 +01:00
Uwe
bedc26804a [Assembly] remove Python.h and Xerces 2022-03-21 02:44:01 +01:00
luz paz
05a22ec22d Misc: remove py2 code 2021-04-27 18:52:01 +02:00
luz.paz
2ed5786d07 [skip-ci] Various typo fixes
Found via codespell  v1.17.0.dev0  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-04-07 18:17:03 +02:00
Fabio Rossi
068073656e fixes in mod Assembly for python3 2018-07-20 10:34:58 -03:00
luzpaz
b24a9c9ad4 Misc. typos
- Tooltip uniformity 
- source comment typo fixes
- remove double whitespaces
2017-11-24 09:45:08 -02:00
jriegel
608dddd998 Restructure the Assembly data model (again)... 2016-04-12 18:12:01 +02:00
jriegel
35e35527db Start of rework of class structure 2016-04-12 18:12:01 +02:00
Stefan Tröger
f91d5013a3 revidsed assembly constraint gui interaction 2016-04-12 18:11:57 +02:00
Stefan Tröger
ca60024447 add more constraints and rebuild solver system everytime it needs to be executed 2016-04-12 18:11:47 +02:00
jriegel
b08b2f6140 addition of constraints 2016-04-12 18:11:45 +02:00
jriegel
9396e5e02d First work for LibPack8 and PropertyUUID 2016-04-12 18:11:44 +02:00
jriegel
a224d93d8c Add Assembly App objects and some python bindings
Make Part working
2016-04-12 18:11:44 +02:00
jriegel
33318314d8 starting implementing assembly 2016-04-12 18:11:44 +02:00
Mateusz Skowroński
43a4a5938c Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
wmayer
120ca87015 + unify DLL export defines to namespace names
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-10 13:44:52 +00:00