Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experiment with reduction in dependencies #37

Merged
merged 32 commits into from
Feb 17, 2022
Merged

Experiment with reduction in dependencies #37

merged 32 commits into from
Feb 17, 2022

Conversation

Krande
Copy link
Owner

@Krande Krande commented Feb 17, 2022

Have finished work reducing direct dependencies

Certain deps are only included due to a single function. Should revise
Add occt >= 7.6.0 as dependency
…ction properties and updating the section props calculations
fix: added support for penetration of piping objects using opencascade.
@Krande Krande merged commit cacfc52 into dev Feb 17, 2022
@Krande Krande deleted the reduce_dependencies branch February 17, 2022 18:17
Krande added a commit that referenced this pull request Apr 23, 2022
* More refactoring in FEM.abaqus. Add ability to convert Primitives to FEM models using Shell elements.

* Minor changes related to refactoring

* Fix face numbering for HEX elements. Minor refactoring

* Minor fix related to fem_to_concept_objects method not adding parents to materials.

* Begun work on improving support for reading ifc files

* minor changes to wall and wall inserts

* further small changes to wall and wall inserts

* Further work on ifc reading

* further work on proper IFCBeam reading

* Proper IFC reading of beams. Next up -> Cardinality

* add functionality to read badly created IFC files (lack of name/tag on elements).

* Add test workflow for docker builds and azure acr

* Further work on masses in FEM

* Further work on improving FEM code stability and decoupling.

* Add option to write physical objects to fem directly without having to define assemblies and parts (creates dummy objects instead).

* Further work on packaging theory. Structuring into local and conda tests.

* prepare testing of snapshot versions of gmsh and pythonocc-core

* fix errors in missing references

* fix win/linux mistake

* Minor fix to version name

* Fix bug in surface set referencing

* Add support for Interface nodes updating Csys object upon merge

* Fix bug where default field and history outputs being set globally

* Fix sesam reader not importing masses due to updated mass element handling

* WIP: Further development on treatment of mass elements.

* Add sesam test file

* Update meta.yaml

* minor fixes and improvements to FEM

* minor update to test assertions

* Write something to start using Ifc instancing

* Start work on ifcmapped repr

* Bump gmsh dep

* Add example ifc file

* Begin work on visualization module

* Working sample of Instancing using MappedItem [WIP]

* Simplify method of turning off/on property exports to IFC

* Further work on revolved IFC beam and exporting to visualization formats such as threejs

* Fix custom json export

* Further work on revolved IFC beam

* WIP export to json and instances export

* Further work on instanced visualization objects

* Further work on IFC

* Add option for exporting to custom json using multithreading

* Set default color to white if trying to normalize something without color

* Prep for FEM viz export to json

* Fix minor bugs in calculix and code aster fem writers.

Continue work on custom json exporter for visualization

Calculix postprocessing is currently suffering from dll errors related to vtk package. Should consider skipping dependency altogether (if possible

* Minor bugfixes in FEM tests

* Further work on conversion of OCC to visualization mesh

* Fix bug in primitive shape units conversion

* Further work on adding features to FEM class and various FEM objects.

Changed FEM container of constraints from list to dict. Seems more user-friendly

* Changing typing for consistency, and added functionality for merging and splitting beams

* Minor fixes in abaqus reading

* Made changes to make tests pass

* FEM: Fix bug in reading/writing abaqus orientations

* Various improvements to fem module

* FEM: Minor improvements to usability of orientations, vector rotations and readability.

* Fix bug in point rotation transform.

* Fix formatting issue caused by outdated black version

* Try to simply swap order in channel priority from krande first to conda-forge

* fix formatting

* Change gmsh package dep to python-gmsh

* start on fixing code aster FEM analysis for static

* FEM: Reduce load in static fem test. Edit Code Aster load writer to not multiply with negative 1

* Further work on debugging dependencies

* Experiment with reduction in dependencies (#37)

* An attempt to reduce package dependency complexity.

Certain deps are only included due to a single function. Should revise

* Add to devops

* Fix failing tests.

* test occt >= 7.6.0 as dependency

* Further work on visualization module and added support for editing section properties and updating the section props calculations

* Separate installing local adapy and pytest

* chore: test using conda build scripts and minor improvements to json export for visualization

* chore: Add conditional use of dev label on conda for testing experimental upstream packages

* chore: Use conditional to set env variable opposed to copying entire statements

* chore: remove no longer used conditionals

* chore: slight edit of conda build command

* chore: further work on conda compilation using fewer dependencies.

* fix: added support for penetration of piping objects using opencascade.

* further work on resolving dependencies

* fix: add support for visualizing joints and exporting it to STEP.

* fix: path makedir prior to bump

* fix: make live file if not exists

* chore: remove python version from name given that it is a noarch package

* chore: Use noarch path for exported package from condabuild

* chore: Try using newly created noarch packages of pytexit and pyquaternion

* chore: do not skip existing of pytexit and pyquaternion

* chore: bump

* chore: fix failing tests for linux

* chore: fix the last failing tests for linux

* chore: add test for reading STEP files.

* chore: add conditional use of native_pointer for importing occ geometry into gmsh

* chore: add minor user options to open and view model in gmsh when using the to_fem_obj method.

* fix: Add handling of pipe elements for new FEM mesh generation using native pointer

* chore: minor improvements in Beam initialization

* chore: minor improvement in exporting custom json related to visualization

* chore: Add option to return file like object in addition to writing to file

* feature: add ability to create custom json file-like object in addition to writing to json file.

* chore: change all tests writing IFC files to disk to reduce IO and to reduce testing time

* chore: reformat visualize module

* fix: now working merging of polygons for custom json

* fix: fix normals. Minor reorganizing of code. Created a PolyModel object

* chore: minor renaming of PolyModel adding

* fix: skip objects not able to convert to polymodel

* chore: lint

* chore: further work on custom json exports

* fix: import colours properly from IFC files. Also fix normalization of colours in colour_norm property. Further work on visualization module

* fix: bug in PolyModel merging fixed

* chore: further work on simplifying generating objects for visualization

* chore: WIP more work on exporting geometries for visualization

* chore: WIP further work visualization export

* chore: WIP visualization export and linting

* fix: WIP viz export and linting

* chore: WIP ifc guid creation

* chore: WIP mesh class AssemblyMesh will now be the core container of model objects designed for visualization only.

* chore: WIP - add example of export to binary + json visualization file set

* chore: Add ability to restart json conversion and skip already converted files

* fix: to_assembly_mesh exported twice the number of geometries due to error in get_physical_objects method

chore: rename to_assembly_mesh to to_vis_mesh

* fix: No longer export all physical objects within parts with a multilevel hierarchy multiple times

* fix: Multiprocessing now works. Translation of models happens after conversion step and no longer needs to be done before mp starts

* fix: merging by colours is not fixed

* chore: fix step export not exporting all subelements (including subparts).

* chore: change default behaviour of get_physical_objects to find all subelements in sublevels

* fix: regression in viz object output due to get_physical_object default change

* chore: add minor improvements in allowable arguments and defaults

* chore: WIP binary support

* chore: add more filtering options to get_list_of_files

* chore: test pre-commit linter service in gh action

* fix: edit spelling mistake

* chore: do not allow returning None and provide logging of error whenever a world has no parts.

* fix: when exporting to binjson, first remove all local files in temp dir

* fix: set int32 as export format for binary numbers AND do not use pre-commit linting (yet)

* add filter functions

* More robust modifications of attributes on Beam instance, and general enhanced readability (#38)

* Updated type hints for consistency

* Updated sections

* Updated some vector utils

* Some updates regarding beam and node

* Updates on node and containers for concepts

* Updating node refs

* Updating refs

* Updating section and taper

* Updating Beam

* Adding functions for sorting nodes

* add extra type hint for beam nodes and fix the failing test

* lint using black, isort and flake8

* chore: minor improvements to type hints and default config for viz exports

* fix: pass owner history to lower level ifc write functions opposed to use ifcopenshell to get it. This improves speeds significantly. TODO: Should move to a Ifc<Type>Exporter class system as opposed to always have to pass variables between functions

* chore: change default to always create zip-files during binary export

* chore: minor changes in defaults in PartMesh

* chore: start using a module-specific logger opposed to logging to root

* fix: noticing built packages are not tested against correct python version. Trying with conda_build_config.yaml file now

* fix: remove cache

* chore: experiment with meta.yaml

* chore: further experiment with meta.yaml

* chore: Do not build noarch. Use regular OS-specific packaging

* chore: skip python version in conda config and remove python jinja in meta.yaml

* chore: fix meta mistake

* chore: fix repr trying to print un-initialized attributes

* found incompatible packages for python 3.10

* fix: python 3.10 dev release for adapy on linux and windows

* chore: cleanup of vis export code

* feature: add STL export (requires trimesh installed)

* add method for reading already converted data

* fix: correct failing test on osx

* fix: linting

* feature: add support for gltf export

* add support for trimesh Scene export containing correct color and name of  objects

* add bumpversion as versioning mechanism

* Bump version: 0.0.27 → 0.0.28

* stick version for now occt=7.5.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant