IFC tutorial scripts broken with compas_ifc 1.7.0 and compas_viewer 2.x
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 74/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- python
- Bereich
- documentation
Rechercherichtung
Beginne mit dem Lesen von viewer.py, spatial_tree.py und attribute_tree.py. Vergleiche anschließend ihre Imports, viewer-Aufrufe, die Treeform-Einrichtung und den Umgang mit Geometrie mit den aufgeführten aktuellen APIs. Aktualisiere alle drei Skripte für compas_ifc 1.7.0 und compas_viewer 2.x, einschließlich der IFC-Einheitenskalierung, und bestätige, dass die Tutorials mit der angegebenen Umgebung ausgeführt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Environment
- OS: Windows 11
- Python: 3.12
- compas_ifc: 1.7.0
- compas_viewer: 2.0.2
- ifcopenshell: 0.8.5
Problem
The tutorial scripts viewer.py, spatial_tree.py, and attribute_tree.py
use outdated APIs that no longer work with current package versions.
Fixes required
viewer.py / spatial_tree.py / attribute_tree.py
1. body_with_opening no longer exists
# OLD
viewer.add(entity.body_with_opening, name=entity.name)
# NEW
geom = entity.geometry
if geom:
viewer.scene.add(geom, name=entity.name)
2. viewer.add() no longer exists → use viewer.scene.add()
3. from compas_viewer.layout import Treeform no longer exists
# OLD
from compas_viewer.layout import Treeform
# NEW
from compas_viewer.components.treeform import Treeform
4. from compas_ifc.entities import Entity no longer exists
# OLD
from compas_ifc.entities import Entity
# NEW
from compas_ifc.entities.base import Base as Entity
5. viewer.layout.sidedock.add_element() no longer exists
# OLD
viewer.layout.sidedock.add_element(Treeform(...))
# NEW
treeform = Treeform(...)
treeform.update() # required to populate the widget
viewer.ui.sidedock.add(treeform)
6. Treeform columns API changed
# OLD
Treeform(tree, {"Name": ".name", "Value": ".attributes['value']"})
# NEW
Treeform(tree, columns={"Name": lambda n: n.name,
"Value": lambda n: n.attributes.get("value", "")})
7. Scale needed for correct geometry size (IFC units are in mm)
from compas.geometry import Scale
S = Scale.from_factors([0.001, 0.001, 0.001])
geom.transform(S)
- Vorherrschende Sprache
- Python
- Sterne
- 1
- Forks
- 2
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Ähnliche Issues
-
area: harness bug status: needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Human-Agent-Society/reef#625 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 80/100
learningequality/kolibri#15351 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Name consistency Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
eellak/triplestore#65 · 1 Kommentar ·