Skip to content

Commit 1e86fc0

Browse files
committed
pattern
1 parent 7985246 commit 1e86fc0

File tree

6 files changed

+56
-60
lines changed

6 files changed

+56
-60
lines changed

plugin/RV_pattern.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
# venv: rhinovault
33
# r: compas>=2.5, compas_rui>=0.3.1, compas_session>=0.4.1, compas_tna>=0.5
44

5-
65
import rhinoscriptsyntax as rs # type: ignore
76

87
import compas_rhino
@@ -15,7 +14,7 @@
1514
def RunCommand():
1615
session = RVSession()
1716

18-
patternobj = session.scene.find_by_itemtype(Pattern)
17+
patternobj = session.find_pattern(warn=False)
1918

2019
if patternobj:
2120
result = rs.MessageBox(
@@ -117,10 +116,6 @@ def RunCommand():
117116
session.scene.add(pattern, name=pattern.name)
118117
session.scene.draw()
119118

120-
# =============================================================================
121-
# Save session
122-
# =============================================================================
123-
124119
if session.settings.autosave:
125120
session.record(name="Make Pattern")
126121

plugin/RV_pattern_boundaries.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import compas_rhino.objects
1010
from compas.geometry import centroid_points
1111
from compas.itertools import pairwise
12-
from compas_rv.datastructures import Pattern
13-
from compas_rv.scene import RhinoPatternObject
1412
from compas_rv.session import RVSession
1513

1614

@@ -30,7 +28,7 @@ def draw_labels(pattern, openings):
3028
def RunCommand():
3129
session = RVSession()
3230

33-
pattern: RhinoPatternObject = session.scene.find_by_itemtype(Pattern)
31+
pattern = session.find_pattern()
3432
if not pattern:
3533
return
3634

@@ -68,9 +66,7 @@ def RunCommand():
6866
pattern.mesh.relax()
6967

7068
compas_rhino.objects.delete_objects(guids, purge=True)
71-
pattern.clear()
72-
pattern.draw()
73-
rs.Redraw()
69+
pattern.redraw()
7470

7571
# =============================================================================
7672
# Update openings
@@ -115,8 +111,7 @@ def RunCommand():
115111
pattern.mesh.relax()
116112

117113
compas_rhino.objects.delete_objects(guids, purge=True)
118-
pattern.clear()
119-
pattern.draw()
114+
pattern.redraw()
120115
guids = draw_labels(pattern, openings)
121116
rs.Redraw()
122117

@@ -132,12 +127,7 @@ def RunCommand():
132127
pattern.show_edges = False
133128
pattern.show_faces = True
134129

135-
pattern.clear()
136-
pattern.draw()
137-
138-
# =============================================================================
139-
# Save session
140-
# =============================================================================
130+
pattern.redraw()
141131

142132
if session.settings.autosave:
143133
session.record(name="Update Pattern Boundaries")

plugin/RV_pattern_modify.py

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@
22
# venv: rhinovault
33
# r: compas>=2.5, compas_rui>=0.3.1, compas_session>=0.4.1, compas_tna>=0.5
44

5-
65
import rhinoscriptsyntax as rs # type: ignore
76

8-
from compas_rv.datastructures import Pattern
97
from compas_rv.session import RVSession
108

119

1210
def RunCommand():
1311
session = RVSession()
1412

15-
pattern = session.scene.find_by_itemtype(Pattern)
13+
pattern = session.find_pattern()
1614
if not pattern:
1715
return
1816

@@ -22,13 +20,43 @@ def RunCommand():
2220

2321
rs.UnselectAllObjects()
2422

23+
options = ["VertexAttributes", "EdgeAttributes"]
24+
option = rs.GetString("Modify the Form Diagram", strings=options)
25+
if not option:
26+
return
27+
28+
if option == "VertexAttributes":
29+
pattern.show_vertices = list(pattern.mesh.vertices())
30+
pattern.redraw_vertices()
31+
32+
selected = pattern.select_vertices()
33+
34+
if selected:
35+
pattern.update_vertex_attributes(selected)
36+
37+
elif option == "EdgeAttributes":
38+
pattern.show_edges = list(pattern.mesh.edges())
39+
pattern.redraw_edges()
40+
41+
selected = pattern.select_edges()
42+
43+
if selected:
44+
pattern.update_edge_attributes(selected)
45+
46+
else:
47+
raise NotImplementedError
48+
2549
# =============================================================================
2650
# Update scene
2751
# =============================================================================
2852

29-
# =============================================================================
30-
# Save session
31-
# =============================================================================
53+
rs.UnselectAllObjects()
54+
55+
pattern.show_vertices = list(set(list(pattern.mesh.vertices_where(is_support=True)) + list(pattern.mesh.vertices_where(is_fixed=True))))
56+
pattern.show_edges = False
57+
pattern.show_faces = True
58+
59+
pattern.redraw()
3260

3361
if session.settings.autosave:
3462
session.record(name="Modify Pattern")

plugin/RV_pattern_openings.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,28 @@
22
# venv: rhinovault
33
# r: compas>=2.5, compas_rui>=0.3.1, compas_session>=0.4.1, compas_tna>=0.5
44

5-
65
import rhinoscriptsyntax as rs # type: ignore
76

8-
from compas_rv.datastructures import Pattern
97
from compas_rv.session import RVSession
108

119

1210
def RunCommand():
1311
session = RVSession()
1412

15-
pattern = session.scene.find_by_itemtype(Pattern)
13+
pattern = session.find_pattern()
1614
if not pattern:
1715
return
1816

1917
# =============================================================================
2018
# Update openings
2119
# =============================================================================
2220

23-
rs.UnselectAllObjects()
21+
raise NotImplementedError
2422

2523
# =============================================================================
2624
# Update scene
2725
# =============================================================================
2826

29-
# =============================================================================
30-
# Save session
31-
# =============================================================================
32-
3327
if session.settings.autosave:
3428
session.record(name="Update Pattern Openings")
3529

plugin/RV_pattern_relax.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@
22
# venv: rhinovault
33
# r: compas>=2.5, compas_rui>=0.3.1, compas_session>=0.4.1, compas_tna>=0.5
44

5-
65
import rhinoscriptsyntax as rs # type: ignore
76

8-
from compas_rv.datastructures import Pattern
9-
from compas_rv.scene import RhinoPatternObject
107
from compas_rv.session import RVSession
118

129

1310
def RunCommand():
1411
session = RVSession()
1512

16-
pattern: RhinoPatternObject = session.scene.find_by_itemtype(Pattern)
13+
pattern = session.find_pattern()
1714
if not pattern:
1815
return
1916

@@ -35,12 +32,7 @@ def RunCommand():
3532
pattern.show_edges = False
3633
pattern.show_faces = True
3734

38-
pattern.clear()
39-
pattern.draw()
40-
41-
# =============================================================================
42-
# Save session
43-
# =============================================================================
35+
pattern.redraw()
4436

4537
if session.settings.autosave:
4638
session.record(name="Relax the Pattern")

plugin/RV_pattern_supports.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@
22
# venv: rhinovault
33
# r: compas>=2.5, compas_rui>=0.3.1, compas_session>=0.4.1, compas_tna>=0.5
44

5-
65
import rhinoscriptsyntax as rs # type: ignore
76

8-
from compas_rv.datastructures import Pattern
9-
from compas_rv.scene import RhinoPatternObject
107
from compas_rv.session import RVSession
118

129

1310
def RunCommand():
1411
session = RVSession()
1512

16-
pattern: RhinoPatternObject = session.scene.find_by_itemtype(Pattern)
13+
pattern = session.find_pattern()
1714
if not pattern:
1815
return
1916

@@ -38,8 +35,7 @@ def RunCommand():
3835
if anchors:
3936
pattern.mesh.vertices_attribute(name="is_support", value=True, keys=anchors)
4037

41-
pattern.clear()
42-
pattern.draw()
38+
pattern.redraw()
4339

4440
# =============================================================================
4541
# Update supports manual
@@ -53,14 +49,20 @@ def RunCommand():
5349
return
5450

5551
if option == "Add":
56-
selectable = list(pattern.mesh.vertices())
57-
selected = pattern.select_vertices(selectable)
52+
pattern.show_vertices = list(pattern.mesh.vertices())
53+
pattern.redraw_vertices()
54+
55+
selected = pattern.select_vertices()
56+
5857
if selected:
5958
pattern.mesh.vertices_attribute(name="is_support", value=True, keys=selected)
6059

6160
elif option == "Remove":
62-
selectable = list(pattern.mesh.vertices_where(is_support=True))
63-
selected = pattern.select_vertices(selectable)
61+
pattern.show_vertices = list(pattern.mesh.vertices_where(is_support=True))
62+
pattern.redraw_vertices()
63+
64+
selected = pattern.select_vertices()
65+
6466
if selected:
6567
pattern.mesh.vertices_attribute(name="is_support", value=False, keys=selected)
6668

@@ -74,12 +76,7 @@ def RunCommand():
7476
pattern.show_edges = False
7577
pattern.show_faces = True
7678

77-
pattern.clear()
78-
pattern.draw()
79-
80-
# =============================================================================
81-
# Save session
82-
# =============================================================================
79+
pattern.redraw()
8380

8481
if session.settings.autosave:
8582
session.record(name="Update Pattern Supports")

0 commit comments

Comments
 (0)