compas-cem 0.8.0__tar.gz → 0.8.2__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {compas_cem-0.8.0 → compas_cem-0.8.2}/CHANGELOG.rst +40 -0
- compas_cem-0.8.2/PKG-INFO +178 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/README.rst +5 -8
- compas_cem-0.8.2/requirements.txt +5 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/setup.py +2 -4
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/__init__.py +1 -1
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/topology/topology.py +2 -1
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser +0 -0
- compas_cem-0.8.2/src/compas_cem.egg-info/PKG-INFO +178 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem.egg-info/SOURCES.txt +0 -1
- compas_cem-0.8.2/src/compas_cem.egg-info/requires.txt +5 -0
- compas_cem-0.8.0/PKG-INFO +0 -182
- compas_cem-0.8.0/requirements.txt +0 -5
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser +0 -0
- compas_cem-0.8.0/src/compas_cem.egg-info/PKG-INFO +0 -182
- compas_cem-0.8.0/src/compas_cem.egg-info/entry_points.txt +0 -3
- compas_cem-0.8.0/src/compas_cem.egg-info/requires.txt +0 -5
- {compas_cem-0.8.0 → compas_cem-0.8.2}/AUTHORS.rst +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/LICENSE +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/MANIFEST.in +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/setup.cfg +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/data/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/data/data.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/diagram.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/form.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/mixins/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/mixins/edge_mixins.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/mixins/node_mixins.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/topology/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/diagrams/topology/mesh_mixins.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/elements/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/elements/deviation.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/elements/edge.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/elements/node.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/elements/trail.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/equilibrium/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/equilibrium/force.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/equilibrium/force_numpy.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/artists.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistColors/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistColors/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistColors/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistForm/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistForm/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistForm/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistTopology/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistTopology/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ArtistTopology/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstrainedFormFinding/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstrainedFormFinding/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstrainedFormFinding/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintDeviationEdgeLength/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintDeviationEdgeLength/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintDeviationEdgeLength/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintEdgeDirection/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintEdgeDirection/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintEdgeDirection/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodeLine/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodeLine/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodeLine/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePlane/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePlane/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePlane/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePoint/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePoint/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePoint/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePolyline/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePolyline/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePolyline/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintReactionForce/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintReactionForce/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintReactionForce/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintTrailEdgeForce/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintTrailEdgeForce/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ConstraintTrailEdgeForce/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_DisassembleForm/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_DisassembleForm/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_DisassembleForm/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_DisassembleTopology/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_DisassembleTopology/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_DisassembleTopology/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_EdgeDeviation/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_EdgeDeviation/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_EdgeDeviation/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_EdgeTrail/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_EdgeTrail/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_EdgeTrail/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_FormFinding/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_FormFinding/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_FormFinding/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_Info/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_Info/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_Info/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONExportDiagram/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONExportDiagram/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONExportDiagram/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONImportForm/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONImportForm/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONImportForm/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONImportTopology/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONImportTopology/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_JSONImportTopology/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_NodeLoad/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_NodeLoad/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_NodeLoad/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_NodeSupport/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_NodeSupport/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_NodeSupport/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_OriginNodesMove/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_OriginNodesMove/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_OriginNodesMove/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterDeviationEdge/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterDeviationEdge/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterDeviationEdge/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadX/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadX/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadX/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadY/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadY/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadY/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadZ/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadZ/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadZ/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginX/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginX/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginX/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginY/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginY/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginY/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginZ/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginZ/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginZ/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterTrailEdge/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterTrailEdge/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ParameterTrailEdge/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_Proxy/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_Proxy/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_Proxy/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ResultsEdges/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ResultsEdges/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ResultsEdges/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ResultsSupportNodes/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ResultsSupportNodes/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_ResultsSupportNodes/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_SearchEdgeKey/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_SearchEdgeKey/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_SearchEdgeKey/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_SearchNodeKey/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_SearchNodeKey/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_SearchNodeKey/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_TopologyDiagram/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_TopologyDiagram/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_TopologyDiagram/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_TrailsShift/code.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_TrailsShift/icon.png +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/components/CompasCem_TrailsShift/metadata.json +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/install.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/register.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/ghpython/uninstall.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/loads/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/loads/node.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/constraint.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/direction.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/force.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/length.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/line.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/mesh.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/plane.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/point.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/constraints/polyline.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/grad.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/nlopt.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/objective_func.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/optimizer.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/deviation.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/edge.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/load.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/node.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/origin.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/parameter.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/parameters/trail.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/optimization/proxy.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/plotters/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/plotters/formartist.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/plotters/plotter.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/plotters/proxy.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/plotters/register.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/plotters/topologyartist.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/supports/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/supports/node.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/viewers/__init__.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/viewers/diagramobject.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/viewers/formobject.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/viewers/register.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/viewers/topologyobject.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem/viewers/viewer.py +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem.egg-info/dependency_links.txt +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem.egg-info/not-zip-safe +0 -0
- {compas_cem-0.8.0 → compas_cem-0.8.2}/src/compas_cem.egg-info/top_level.txt +0 -0
@@ -6,6 +6,46 @@ All notable changes to this project will be documented in this file.
|
|
6
6
|
The format is based on `Keep a Changelog <https://keepachangelog.com/en/1.0.0/>`_
|
7
7
|
and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`_.
|
8
8
|
|
9
|
+
0.8.2
|
10
|
+
----------
|
11
|
+
|
12
|
+
**Added**
|
13
|
+
|
14
|
+
**Changed**
|
15
|
+
|
16
|
+
**Fixed**
|
17
|
+
|
18
|
+
**Deprecated**
|
19
|
+
|
20
|
+
**Removed**
|
21
|
+
|
22
|
+
0.8.1
|
23
|
+
----------
|
24
|
+
|
25
|
+
**Added**
|
26
|
+
|
27
|
+
- Added set conversion in `TopologyDiagram.is_auxiliary_trail_edge()`.
|
28
|
+
|
29
|
+
**Changed**
|
30
|
+
|
31
|
+
- Pinned dependency to `numpy==1.26.3`.
|
32
|
+
- Pinned dependency to `compas==1.17.10`.
|
33
|
+
- Updated installation instructions in docs website.
|
34
|
+
- Set minimum supported python version to `3.8`.
|
35
|
+
- Bumped to docs action to `docs@.2.21`.
|
36
|
+
- Pinned `sphinx, `pytest`, and `pytest-lazy-fixture` dependencies in `requirements_dev.txt`.
|
37
|
+
- Set `crazy-max/ghaction-github-pages@v3.1.0` in `docs` action.
|
38
|
+
- Set `compas-actions.docs@v2.2.1` in `docs` action.
|
39
|
+
- Updated grashopper components in examples.
|
40
|
+
|
41
|
+
**Fixed**
|
42
|
+
|
43
|
+
**Deprecated**
|
44
|
+
|
45
|
+
**Removed**
|
46
|
+
|
47
|
+
- Removed `compas_singular` dependency.
|
48
|
+
|
9
49
|
0.8.0
|
10
50
|
----------
|
11
51
|
|
@@ -0,0 +1,178 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: compas_cem
|
3
|
+
Version: 0.8.2
|
4
|
+
Summary: The Combinatorial Equilibrium Modeling framework for COMPAS
|
5
|
+
Home-page: https://github.com/arpastrana/compas_cem
|
6
|
+
Author: Rafael Pastrana
|
7
|
+
Author-email: arpj@princeton.edu
|
8
|
+
License: MIT license
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
10
|
+
Classifier: Intended Audience :: Developers
|
11
|
+
Classifier: Topic :: Scientific/Engineering
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
13
|
+
Classifier: Operating System :: Unix
|
14
|
+
Classifier: Operating System :: POSIX
|
15
|
+
Classifier: Operating System :: Microsoft :: Windows
|
16
|
+
Classifier: Programming Language :: Python
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
20
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
21
|
+
Requires-Python: >=3.8
|
22
|
+
Description-Content-Type: text/markdown
|
23
|
+
License-File: LICENSE
|
24
|
+
License-File: AUTHORS.rst
|
25
|
+
|
26
|
+
********************************************************************************
|
27
|
+
COMPAS CEM
|
28
|
+
********************************************************************************
|
29
|
+
|
30
|
+
.. start-badges
|
31
|
+
|
32
|
+
.. image:: https://github.com/arpastrana/compas_cem/workflows/build/badge.svg
|
33
|
+
:target: https://github.com/arpastrana/compas_cem/actions
|
34
|
+
:alt: Github Actions Build Status
|
35
|
+
|
36
|
+
.. image:: https://img.shields.io/github/license/arpastrana/compas_cem.svg
|
37
|
+
:target: https://github.com/arpastrana/compas_cem/blob/main/LICENSE
|
38
|
+
:alt: License
|
39
|
+
|
40
|
+
.. image:: https://img.shields.io/pypi/v/compas-cem.svg
|
41
|
+
:target: https://pypi.python.org/pypi/compas-cem
|
42
|
+
:alt: PyPI Package latest release
|
43
|
+
|
44
|
+
.. image:: https://img.shields.io/pypi/pyversions/compas-cem
|
45
|
+
:target: https://pypi.org/project/compas-cem
|
46
|
+
:alt: Python versions
|
47
|
+
|
48
|
+
.. image:: https://img.shields.io/badge/arXiv-2111.02607-b31b1b.svg
|
49
|
+
:target: https://arxiv.org/abs/2111.02607
|
50
|
+
:alt: ArXiv paper
|
51
|
+
|
52
|
+
.. image:: https://zenodo.org/badge/278780552.svg
|
53
|
+
:target: https://zenodo.org/badge/latestdoi/278780552
|
54
|
+
:alt: Zenodo DOI
|
55
|
+
|
56
|
+
.. end-badges
|
57
|
+
|
58
|
+
.. _COMPAS: https://compas.dev/
|
59
|
+
.. _COMPAS CEM Docs: https://arpastrana.github.io/compas_cem/latest/index.html
|
60
|
+
.. _CEM Framework: https://doi.org/10.1016/j.cad.2022.103435
|
61
|
+
.. _Rafael Pastrana: https://pastrana.xyz/
|
62
|
+
.. _Princeton: https://soa.princeton.edu/
|
63
|
+
.. _Ole Ohlbrock: https://schwartz.arch.ethz.ch/Team/patrickoleohlbrock.php?lan=en
|
64
|
+
.. _Pierluigi D'Acunto: https://www.professoren.tum.de/en/dacunto-pierluigi
|
65
|
+
.. _Stefana Parascho: https://people.epfl.ch/stefana.parascho?lang=en
|
66
|
+
.. _Anaconda: https://www.anaconda.com/
|
67
|
+
.. _Rhino: https://www.rhino3d.com/
|
68
|
+
.. _Blender: https://www.blender.org/
|
69
|
+
.. _Grasshopper: https://grasshopper3d.com/
|
70
|
+
.. _metaverse: https://apnews.com/article/meta-facebook-explaining-the-metaverse-f57e01cd5739840945e89fd668b0fa27
|
71
|
+
|
72
|
+
|
73
|
+
.. figure:: ./docs/images/staircase_24_fps_128_colors.gif
|
74
|
+
:figclass: figure
|
75
|
+
:class: figure-img img-fluid
|
76
|
+
|
77
|
+
|
78
|
+
The `Combinatorial Equilibrium Modeling (CEM) <https://doi.org/10.1016/j.cad.2022.103435>`_ framework for `COMPAS`_.
|
79
|
+
|
80
|
+
The `CEM framework`_ is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints.
|
81
|
+
**COMPAS CEM** encapsulates the `CEM framework`_ into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple `Python <https://www.python.org/>`_ code.
|
82
|
+
|
83
|
+
|
84
|
+
Main features
|
85
|
+
=============
|
86
|
+
|
87
|
+
* **Mix tension and compression forces:** Explore a wider spectrum of structural typologies by combining internal tension and compression forces in the same structure. Design space frames, bridges, tensegrities, and staircases and go beyond the conventional catalog of compression-only shells and cable-nets!
|
88
|
+
|
89
|
+
* **Solve constrained form-finding problems efficiently via automatic differentiation:** Generate forms in static equilibrium that simultaneously meet a priori design constraints such as best-fitting a global target shape, restraining bar lengths, and controlling the reaction forces at the supports of a structure.
|
90
|
+
|
91
|
+
* **Usable across different 3D modeling software and operating systems:** COMPAS CEM runs on Windows, MacOS and Linux (perhaps one day in the `metaverse`_) and it does not depend on any CAD software to work. However, it provides the necessary interfaces to be seamlessly used inside popular design environments like `Rhino`_, `Blender`_, and `Grasshopper`_. As a `COMPAS`_ extension, COMPAS CEM offers native integration and data exchange with other extensions and plugins in the COMPAS ecosystem.
|
92
|
+
|
93
|
+
* **Move those sliders with the Grasshopper plugin:** Are you a `Grasshopper`_ person? Worry not. COMPAS CEM is also shipped as a precooked Grasshopper plugin to readily integrate our constrained form-finding engine into your next spaghetti pipeline 🍝.
|
94
|
+
|
95
|
+
|
96
|
+
Installation
|
97
|
+
============
|
98
|
+
|
99
|
+
|
100
|
+
These are succint instructions to install **COMPAS CEM** and its `Grasshopper`_ plugin.
|
101
|
+
For detailed guidance, please refer to the `COMPAS CEM Docs`_.
|
102
|
+
|
103
|
+
Install **COMPAS CEM** in a dedicated `Anaconda`_ environment via ``pip``:
|
104
|
+
|
105
|
+
::
|
106
|
+
|
107
|
+
pip install compas-cem
|
108
|
+
|
109
|
+
To double-check that everything is up and running, type the following in the
|
110
|
+
command line and hit enter:
|
111
|
+
|
112
|
+
::
|
113
|
+
|
114
|
+
python -c "import compas_cem"
|
115
|
+
|
116
|
+
If no errors show up, celebrate 🎉! You have a working installation of **COMPAS CEM**.
|
117
|
+
|
118
|
+
|
119
|
+
Grasshopper plugin
|
120
|
+
------------------
|
121
|
+
|
122
|
+
**Warning**: Note that `Grasshopper`_ plugin of **COMPAS CEM** is only supported in **Rhino 6** and **Rhino 7**.
|
123
|
+
|
124
|
+
Once **COMPAS CEM** was installed from the comment line, we can additionally link it to `Rhino`_ and use it as `Grasshopper`_ plugin:
|
125
|
+
|
126
|
+
::
|
127
|
+
|
128
|
+
python -m compas_rhino.install -v 7.0
|
129
|
+
|
130
|
+
The flag ``-v 7.0`` indicates that we will be installing **COMPAS CEM** and company in Rhino 7. If you are working with Rhino 6, replace that last bit with ``-v 6.0``.
|
131
|
+
|
132
|
+
|
133
|
+
First steps
|
134
|
+
===========
|
135
|
+
|
136
|
+
* `COMPAS CEM Docs`_
|
137
|
+
* `COMPAS CEM Examples <https://arpastrana.github.io/compas_cem/latest/examples.html>`_
|
138
|
+
* `COMPAS CEM API Reference <https://arpastrana.github.io/compas_cem/latest/api.html>`_
|
139
|
+
* `COMPAS Tutorials <https://compas.dev/compas/latest/tutorial.html>`_
|
140
|
+
* `COMPAS API Reference <https://compas.dev/compas/latest/api.html>`_
|
141
|
+
|
142
|
+
|
143
|
+
Are you a bug hunter?
|
144
|
+
=====================
|
145
|
+
|
146
|
+
If you find a bug or want to suggest a potential enhancement,
|
147
|
+
please help us tackle it by filing a `report <https://github.com/arpastrana/compas_cem/issues>`_.
|
148
|
+
|
149
|
+
|
150
|
+
Questions and feedback
|
151
|
+
======================
|
152
|
+
|
153
|
+
We encourage the use of the `COMPAS framework forum <https://forum.compas-framework.org/>`_ for questions and discussions.
|
154
|
+
|
155
|
+
|
156
|
+
Contributing
|
157
|
+
============
|
158
|
+
|
159
|
+
Pull requests are warmly welcome! Check the `Contributor's Guide <https://github.com/arpastrana/compas_cem/blob/main/CONTRIBUTING.md>`_
|
160
|
+
for more details.
|
161
|
+
|
162
|
+
|
163
|
+
Citing
|
164
|
+
======
|
165
|
+
|
166
|
+
If you use **COMPAS CEM** for a project or research, please cite us using these `references <https://arpastrana.github.io/compas_cem/latest/citing.html>`_.
|
167
|
+
|
168
|
+
|
169
|
+
Acknowledgements
|
170
|
+
================
|
171
|
+
|
172
|
+
This work has been supported in part by the U.S. National Science Foundation under grant OAC-2118201 and the `NSF Institute for Data Driven Dynamical Design <https://www.mines.edu/id4>`_.
|
173
|
+
|
174
|
+
|
175
|
+
License
|
176
|
+
=======
|
177
|
+
|
178
|
+
MIT
|
@@ -28,20 +28,16 @@ COMPAS CEM
|
|
28
28
|
:target: https://zenodo.org/badge/latestdoi/278780552
|
29
29
|
:alt: Zenodo DOI
|
30
30
|
|
31
|
-
.. image:: https://img.shields.io/twitter/follow/compas_dev?style=social
|
32
|
-
:target: https://twitter.com/compas_dev
|
33
|
-
:alt: Twitter follow
|
34
|
-
|
35
31
|
.. end-badges
|
36
32
|
|
37
33
|
.. _COMPAS: https://compas.dev/
|
38
34
|
.. _COMPAS CEM Docs: https://arpastrana.github.io/compas_cem/latest/index.html
|
39
|
-
.. _CEM Framework: https://
|
35
|
+
.. _CEM Framework: https://doi.org/10.1016/j.cad.2022.103435
|
40
36
|
.. _Rafael Pastrana: https://pastrana.xyz/
|
41
37
|
.. _Princeton: https://soa.princeton.edu/
|
42
38
|
.. _Ole Ohlbrock: https://schwartz.arch.ethz.ch/Team/patrickoleohlbrock.php?lan=en
|
43
39
|
.. _Pierluigi D'Acunto: https://www.professoren.tum.de/en/dacunto-pierluigi
|
44
|
-
.. _Stefana Parascho: https://
|
40
|
+
.. _Stefana Parascho: https://people.epfl.ch/stefana.parascho?lang=en
|
45
41
|
.. _Anaconda: https://www.anaconda.com/
|
46
42
|
.. _Rhino: https://www.rhino3d.com/
|
47
43
|
.. _Blender: https://www.blender.org/
|
@@ -49,13 +45,12 @@ COMPAS CEM
|
|
49
45
|
.. _metaverse: https://apnews.com/article/meta-facebook-explaining-the-metaverse-f57e01cd5739840945e89fd668b0fa27
|
50
46
|
|
51
47
|
|
52
|
-
|
53
48
|
.. figure:: ./docs/images/staircase_24_fps_128_colors.gif
|
54
49
|
:figclass: figure
|
55
50
|
:class: figure-img img-fluid
|
56
51
|
|
57
52
|
|
58
|
-
The `Combinatorial Equilibrium Modeling (CEM) <https://
|
53
|
+
The `Combinatorial Equilibrium Modeling (CEM) <https://doi.org/10.1016/j.cad.2022.103435>`_ framework for `COMPAS`_.
|
59
54
|
|
60
55
|
The `CEM framework`_ is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints.
|
61
56
|
**COMPAS CEM** encapsulates the `CEM framework`_ into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple `Python <https://www.python.org/>`_ code.
|
@@ -99,6 +94,8 @@ If no errors show up, celebrate 🎉! You have a working installation of **COMPA
|
|
99
94
|
Grasshopper plugin
|
100
95
|
------------------
|
101
96
|
|
97
|
+
**Warning**: Note that `Grasshopper`_ plugin of **COMPAS CEM** is only supported in **Rhino 6** and **Rhino 7**.
|
98
|
+
|
102
99
|
Once **COMPAS CEM** was installed from the comment line, we can additionally link it to `Rhino`_ and use it as `Grasshopper`_ plugin:
|
103
100
|
|
104
101
|
::
|
@@ -28,7 +28,7 @@ optional_requirements = {}
|
|
28
28
|
|
29
29
|
setup(
|
30
30
|
name="compas_cem",
|
31
|
-
version="0.8.
|
31
|
+
version="0.8.2",
|
32
32
|
description="The Combinatorial Equilibrium Modeling framework for COMPAS",
|
33
33
|
long_description=long_description,
|
34
34
|
long_description_content_type="text/markdown",
|
@@ -46,8 +46,6 @@ setup(
|
|
46
46
|
"Operating System :: Microsoft :: Windows",
|
47
47
|
"Programming Language :: Python",
|
48
48
|
"Programming Language :: Python :: 3",
|
49
|
-
"Programming Language :: Python :: 3.6",
|
50
|
-
"Programming Language :: Python :: 3.7",
|
51
49
|
"Programming Language :: Python :: 3.8",
|
52
50
|
"Programming Language :: Python :: 3.9",
|
53
51
|
"Programming Language :: Python :: Implementation :: CPython",
|
@@ -61,7 +59,7 @@ setup(
|
|
61
59
|
include_package_data=True,
|
62
60
|
zip_safe=False,
|
63
61
|
install_requires=requirements,
|
64
|
-
python_requires=">=3.
|
62
|
+
python_requires=">=3.8",
|
65
63
|
extras_require=optional_requirements,
|
66
64
|
entry_points={
|
67
65
|
"console_scripts": [],
|
@@ -737,7 +737,8 @@ class TopologyDiagram(Diagram, MeshMixins):
|
|
737
737
|
flag : ``bool``
|
738
738
|
``True``if the edge is in an auxiliary trail. ``False`` otherwise.
|
739
739
|
"""
|
740
|
-
|
740
|
+
aux_trails = set([tuple(edge) for edge in self.auxiliary_trails()])
|
741
|
+
if edge in set(aux_trails):
|
741
742
|
return True
|
742
743
|
return False
|
743
744
|
|
Binary file
|
Binary file
|
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser
ADDED
Binary file
|
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser
ADDED
Binary file
|
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser
ADDED
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser
ADDED
Binary file
|
Binary file
|
compas_cem-0.8.2/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,178 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: compas-cem
|
3
|
+
Version: 0.8.2
|
4
|
+
Summary: The Combinatorial Equilibrium Modeling framework for COMPAS
|
5
|
+
Home-page: https://github.com/arpastrana/compas_cem
|
6
|
+
Author: Rafael Pastrana
|
7
|
+
Author-email: arpj@princeton.edu
|
8
|
+
License: MIT license
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
10
|
+
Classifier: Intended Audience :: Developers
|
11
|
+
Classifier: Topic :: Scientific/Engineering
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
13
|
+
Classifier: Operating System :: Unix
|
14
|
+
Classifier: Operating System :: POSIX
|
15
|
+
Classifier: Operating System :: Microsoft :: Windows
|
16
|
+
Classifier: Programming Language :: Python
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
20
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
21
|
+
Requires-Python: >=3.8
|
22
|
+
Description-Content-Type: text/markdown
|
23
|
+
License-File: LICENSE
|
24
|
+
License-File: AUTHORS.rst
|
25
|
+
|
26
|
+
********************************************************************************
|
27
|
+
COMPAS CEM
|
28
|
+
********************************************************************************
|
29
|
+
|
30
|
+
.. start-badges
|
31
|
+
|
32
|
+
.. image:: https://github.com/arpastrana/compas_cem/workflows/build/badge.svg
|
33
|
+
:target: https://github.com/arpastrana/compas_cem/actions
|
34
|
+
:alt: Github Actions Build Status
|
35
|
+
|
36
|
+
.. image:: https://img.shields.io/github/license/arpastrana/compas_cem.svg
|
37
|
+
:target: https://github.com/arpastrana/compas_cem/blob/main/LICENSE
|
38
|
+
:alt: License
|
39
|
+
|
40
|
+
.. image:: https://img.shields.io/pypi/v/compas-cem.svg
|
41
|
+
:target: https://pypi.python.org/pypi/compas-cem
|
42
|
+
:alt: PyPI Package latest release
|
43
|
+
|
44
|
+
.. image:: https://img.shields.io/pypi/pyversions/compas-cem
|
45
|
+
:target: https://pypi.org/project/compas-cem
|
46
|
+
:alt: Python versions
|
47
|
+
|
48
|
+
.. image:: https://img.shields.io/badge/arXiv-2111.02607-b31b1b.svg
|
49
|
+
:target: https://arxiv.org/abs/2111.02607
|
50
|
+
:alt: ArXiv paper
|
51
|
+
|
52
|
+
.. image:: https://zenodo.org/badge/278780552.svg
|
53
|
+
:target: https://zenodo.org/badge/latestdoi/278780552
|
54
|
+
:alt: Zenodo DOI
|
55
|
+
|
56
|
+
.. end-badges
|
57
|
+
|
58
|
+
.. _COMPAS: https://compas.dev/
|
59
|
+
.. _COMPAS CEM Docs: https://arpastrana.github.io/compas_cem/latest/index.html
|
60
|
+
.. _CEM Framework: https://doi.org/10.1016/j.cad.2022.103435
|
61
|
+
.. _Rafael Pastrana: https://pastrana.xyz/
|
62
|
+
.. _Princeton: https://soa.princeton.edu/
|
63
|
+
.. _Ole Ohlbrock: https://schwartz.arch.ethz.ch/Team/patrickoleohlbrock.php?lan=en
|
64
|
+
.. _Pierluigi D'Acunto: https://www.professoren.tum.de/en/dacunto-pierluigi
|
65
|
+
.. _Stefana Parascho: https://people.epfl.ch/stefana.parascho?lang=en
|
66
|
+
.. _Anaconda: https://www.anaconda.com/
|
67
|
+
.. _Rhino: https://www.rhino3d.com/
|
68
|
+
.. _Blender: https://www.blender.org/
|
69
|
+
.. _Grasshopper: https://grasshopper3d.com/
|
70
|
+
.. _metaverse: https://apnews.com/article/meta-facebook-explaining-the-metaverse-f57e01cd5739840945e89fd668b0fa27
|
71
|
+
|
72
|
+
|
73
|
+
.. figure:: ./docs/images/staircase_24_fps_128_colors.gif
|
74
|
+
:figclass: figure
|
75
|
+
:class: figure-img img-fluid
|
76
|
+
|
77
|
+
|
78
|
+
The `Combinatorial Equilibrium Modeling (CEM) <https://doi.org/10.1016/j.cad.2022.103435>`_ framework for `COMPAS`_.
|
79
|
+
|
80
|
+
The `CEM framework`_ is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints.
|
81
|
+
**COMPAS CEM** encapsulates the `CEM framework`_ into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple `Python <https://www.python.org/>`_ code.
|
82
|
+
|
83
|
+
|
84
|
+
Main features
|
85
|
+
=============
|
86
|
+
|
87
|
+
* **Mix tension and compression forces:** Explore a wider spectrum of structural typologies by combining internal tension and compression forces in the same structure. Design space frames, bridges, tensegrities, and staircases and go beyond the conventional catalog of compression-only shells and cable-nets!
|
88
|
+
|
89
|
+
* **Solve constrained form-finding problems efficiently via automatic differentiation:** Generate forms in static equilibrium that simultaneously meet a priori design constraints such as best-fitting a global target shape, restraining bar lengths, and controlling the reaction forces at the supports of a structure.
|
90
|
+
|
91
|
+
* **Usable across different 3D modeling software and operating systems:** COMPAS CEM runs on Windows, MacOS and Linux (perhaps one day in the `metaverse`_) and it does not depend on any CAD software to work. However, it provides the necessary interfaces to be seamlessly used inside popular design environments like `Rhino`_, `Blender`_, and `Grasshopper`_. As a `COMPAS`_ extension, COMPAS CEM offers native integration and data exchange with other extensions and plugins in the COMPAS ecosystem.
|
92
|
+
|
93
|
+
* **Move those sliders with the Grasshopper plugin:** Are you a `Grasshopper`_ person? Worry not. COMPAS CEM is also shipped as a precooked Grasshopper plugin to readily integrate our constrained form-finding engine into your next spaghetti pipeline 🍝.
|
94
|
+
|
95
|
+
|
96
|
+
Installation
|
97
|
+
============
|
98
|
+
|
99
|
+
|
100
|
+
These are succint instructions to install **COMPAS CEM** and its `Grasshopper`_ plugin.
|
101
|
+
For detailed guidance, please refer to the `COMPAS CEM Docs`_.
|
102
|
+
|
103
|
+
Install **COMPAS CEM** in a dedicated `Anaconda`_ environment via ``pip``:
|
104
|
+
|
105
|
+
::
|
106
|
+
|
107
|
+
pip install compas-cem
|
108
|
+
|
109
|
+
To double-check that everything is up and running, type the following in the
|
110
|
+
command line and hit enter:
|
111
|
+
|
112
|
+
::
|
113
|
+
|
114
|
+
python -c "import compas_cem"
|
115
|
+
|
116
|
+
If no errors show up, celebrate 🎉! You have a working installation of **COMPAS CEM**.
|
117
|
+
|
118
|
+
|
119
|
+
Grasshopper plugin
|
120
|
+
------------------
|
121
|
+
|
122
|
+
**Warning**: Note that `Grasshopper`_ plugin of **COMPAS CEM** is only supported in **Rhino 6** and **Rhino 7**.
|
123
|
+
|
124
|
+
Once **COMPAS CEM** was installed from the comment line, we can additionally link it to `Rhino`_ and use it as `Grasshopper`_ plugin:
|
125
|
+
|
126
|
+
::
|
127
|
+
|
128
|
+
python -m compas_rhino.install -v 7.0
|
129
|
+
|
130
|
+
The flag ``-v 7.0`` indicates that we will be installing **COMPAS CEM** and company in Rhino 7. If you are working with Rhino 6, replace that last bit with ``-v 6.0``.
|
131
|
+
|
132
|
+
|
133
|
+
First steps
|
134
|
+
===========
|
135
|
+
|
136
|
+
* `COMPAS CEM Docs`_
|
137
|
+
* `COMPAS CEM Examples <https://arpastrana.github.io/compas_cem/latest/examples.html>`_
|
138
|
+
* `COMPAS CEM API Reference <https://arpastrana.github.io/compas_cem/latest/api.html>`_
|
139
|
+
* `COMPAS Tutorials <https://compas.dev/compas/latest/tutorial.html>`_
|
140
|
+
* `COMPAS API Reference <https://compas.dev/compas/latest/api.html>`_
|
141
|
+
|
142
|
+
|
143
|
+
Are you a bug hunter?
|
144
|
+
=====================
|
145
|
+
|
146
|
+
If you find a bug or want to suggest a potential enhancement,
|
147
|
+
please help us tackle it by filing a `report <https://github.com/arpastrana/compas_cem/issues>`_.
|
148
|
+
|
149
|
+
|
150
|
+
Questions and feedback
|
151
|
+
======================
|
152
|
+
|
153
|
+
We encourage the use of the `COMPAS framework forum <https://forum.compas-framework.org/>`_ for questions and discussions.
|
154
|
+
|
155
|
+
|
156
|
+
Contributing
|
157
|
+
============
|
158
|
+
|
159
|
+
Pull requests are warmly welcome! Check the `Contributor's Guide <https://github.com/arpastrana/compas_cem/blob/main/CONTRIBUTING.md>`_
|
160
|
+
for more details.
|
161
|
+
|
162
|
+
|
163
|
+
Citing
|
164
|
+
======
|
165
|
+
|
166
|
+
If you use **COMPAS CEM** for a project or research, please cite us using these `references <https://arpastrana.github.io/compas_cem/latest/citing.html>`_.
|
167
|
+
|
168
|
+
|
169
|
+
Acknowledgements
|
170
|
+
================
|
171
|
+
|
172
|
+
This work has been supported in part by the U.S. National Science Foundation under grant OAC-2118201 and the `NSF Institute for Data Driven Dynamical Design <https://www.mines.edu/id4>`_.
|
173
|
+
|
174
|
+
|
175
|
+
License
|
176
|
+
=======
|
177
|
+
|
178
|
+
MIT
|
@@ -10,7 +10,6 @@ src/compas_cem/__init__.py
|
|
10
10
|
src/compas_cem.egg-info/PKG-INFO
|
11
11
|
src/compas_cem.egg-info/SOURCES.txt
|
12
12
|
src/compas_cem.egg-info/dependency_links.txt
|
13
|
-
src/compas_cem.egg-info/entry_points.txt
|
14
13
|
src/compas_cem.egg-info/not-zip-safe
|
15
14
|
src/compas_cem.egg-info/requires.txt
|
16
15
|
src/compas_cem.egg-info/top_level.txt
|