Skip to content

Commit c36fdd9

Browse files
Add files via upload
1 parent 0aebba4 commit c36fdd9

File tree

1 file changed

+31
-67
lines changed

1 file changed

+31
-67
lines changed

GrasshopperSyntax/Grasshopper.py

Lines changed: 31 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
version = sys.version_info[0]
1717

1818

19+
class Doc:
20+
def __init__(self):
21+
self.DisplayName = "gCPy.Doc(DocDisplayName)"
22+
self.FilePath = "gCPy.Doc(DocFilePath)"
23+
24+
1925
class Line:
2026
def __init__(self, *args):
2127
"""Adds new line using two input points, or two input lists or 6 input doubles
@@ -24,19 +30,29 @@ def __init__(self, *args):
2430
"""
2531
if len(args) == 2:
2632
if isinstance(args[0], Point) and isinstance(args[1], Point):
33+
print "2 Point Instances"
2734
self.X1 = args[0].X
2835
self.Y1 = args[0].Y
29-
self.Z1 = args[0].X
30-
self.X2 = args[1].Z
36+
self.Z1 = args[0].Z
37+
self.X2 = args[1].X
3138
self.Y2 = args[1].Y
3239
self.Z2 = args[1].Z
33-
elif isinstance(args[0], list) and isinstance(args[1], list):
40+
elif isinstance(args[0], list) and isinstance(args[1], list) and args[0][0] != '<Point>' and args[1][0] != '<Point>':
41+
print "2 List Instances"
3442
self.X1 = args[0][0]
3543
self.Y1 = args[0][1]
3644
self.Z1 = args[0][2]
3745
self.X2 = args[1][0]
3846
self.Y2 = args[1][1]
3947
self.Z2 = args[1][2]
48+
elif isinstance(args[0], list) and isinstance(args[1], list) and args[0][0] == '<Point>' and args[1][0] == '<Point>':
49+
print "2 List Instances of type 2"
50+
self.X1 = args[0][1]
51+
self.Y1 = args[0][2]
52+
self.Z1 = args[0][3]
53+
self.X2 = args[1][1]
54+
self.Y2 = args[1][2]
55+
self.Z2 = args[1][3]
4056
elif version == 2:
4157
if isinstance(args[0], basestring) and isinstance(args[1], basestring):
4258
pointa = Point(args[0])
@@ -66,20 +82,7 @@ def __init__(self, *args):
6682
self.Z2 = args[5]
6783

6884
def addLine(self):
69-
return "gCPy.Line(" + str(self.X1) + ", " \
70-
+ str(self.Y1) + ", " \
71-
+ str(self.Z1) + ", " \
72-
+ str(self.X2) + ", " \
73-
+ str(self.Y2) + ", " \
74-
+ str(self.Z2) + ")"
75-
76-
def __repr__(self):
77-
return "gCPy.Line(" + str(self.X1) + ", " \
78-
+ str(self.Y1) + ", " \
79-
+ str(self.Z1) + ", " \
80-
+ str(self.X2) + ", " \
81-
+ str(self.Y2) + ", " \
82-
+ str(self.Z2) + ")"
85+
return ['<Line>',self.X1, self.Y1, self.Z1, self.X2, self.Y2, self.Z2, '<Line>']
8386

8487
def length(self):
8588
return ((self.X2 - self.X1) ** 2 + (self.Y2 - self.Y1) ** 2 + (self.Z2 - self.Z1) ** 2) ** 0.5
@@ -89,7 +92,11 @@ def pointOnLine(self, parameter=0.5):
8992
(self.Y2 - self.Y1) * parameter + self.Y1, \
9093
(self.Z2 - self.Z1) * parameter + self.Z1)
9194

95+
def __repr__(self):
96+
return ['<Line>',self.X1, self.Y1, self.Z1, self.X2, self.Y2, self.Z2, '</Line>']
9297

98+
def __str__(self):
99+
return str(['<Line>',self.X1, self.Y1, self.Z1, self.X2, self.Y2, self.Z2, '</Line>'])
93100

94101

95102
class Point:
@@ -113,15 +120,6 @@ def __init__(self, x=0., y=0., z=0.):
113120
self.X = x[0]
114121
self.Y = x[1]
115122
self.Z = x[2]
116-
elif isinstance(x, basestring):
117-
new_vars = []
118-
x = x.replace("gCPy.Point(", "").replace(")", "").lstrip().rstrip()
119-
variables = x.split(",")
120-
for i in variables:
121-
new_vars.append(float(i))
122-
self.X = new_vars[0]
123-
self.Y = new_vars[1]
124-
self.Z = new_vars[2]
125123
else:
126124
self.X = x
127125
self.Y = y
@@ -131,52 +129,17 @@ def __init__(self, x=0., y=0., z=0.):
131129
self.X = x[0]
132130
self.Y = x[1]
133131
self.Z = x[2]
134-
elif isinstance(x, str):
135-
new_vars = []
136-
x = x.replace("gCPy.Point(", "").replace(")", "").lstrip().rstrip()
137-
variables = x.split(",")
138-
for i in variables:
139-
new_vars.append(float(i))
140-
self.X = new_vars[0]
141-
self.Y = new_vars[1]
142-
self.Z = new_vars[2]
143132
else:
144133
self.X = x
145134
self.Y = y
146135
self.Z = z
147-
self.addPoint = "gCPy.Point(" + str(x) + "," + str(y) + "," + str(z) + ")"
136+
self.addPoint = ['<Point>', x, y, z, '</Point>']
148137

149138
def __repr__(self):
150-
return "gCPy.Point(" + str(self.X) + "," + str(self.Y) + "," + str(self.Z) + ")"
139+
return ['<Point>', self.X, self.Y, self.Z, '</Point>']
151140

152141
def __str__(self):
153-
return "gCPy.Point(" + str(self.X) + "," + str(self.Y) + "," + str(self.Z) + ")"
154-
155-
class Surface:
156-
def __init__(self, *args):
157-
if len(args) == 4:
158-
if isinstance(args[0], Point) and isinstance(args[1], Point) and isinstance(args[2], Point) and isinstance(args[3], Point):
159-
self.P1 = args[0]
160-
self.P2 = args[1]
161-
self.P3 = args[2]
162-
self.P4 = args[3]
163-
self.addSurface = "gCPy.Surface("+ str(args[0].X) + "," \
164-
+ str(args[0].Y) + "," \
165-
+ str(args[0].Z) + "," \
166-
+ str(args[1].X) + "," \
167-
+ str(args[1].Y) + "," \
168-
+ str(args[1].Z) + "," \
169-
+ str(args[2].X) + "," \
170-
+ str(args[2].Y) + "," \
171-
+ str(args[2].Z) + "," \
172-
+ str(args[3].X) + "," \
173-
+ str(args[3].Y) + "," \
174-
+ str(args[3].Z) + "," \
175-
+ ")"
176-
elif len(args) == 2:
177-
pass
178-
else:
179-
print "you have to create surface from 4 points"
142+
return str(['<Point>', self.X, self.Y, self.Z, '</Point>'])
180143

181144

182145
########################### DEFINE METHODS ################################
@@ -197,18 +160,19 @@ def addLine(*args):
197160

198161
def addPoint(*args):
199162
"""
163+
200164
:param args:
201165
:return:
202166
"""
203167
if len(args) == 1:
204168
return Point(args[0])
205169
elif len(args) == 3:
206-
return Point(args[0], args[1], args[2])
170+
return Point(args[0], args[1], args[2]).addPoint
207171

208172

209-
def addSurface(*args):
210-
return Surface(args[0], args[1], args[2], args[3]).addSurface
173+
##################################vars#################################
211174

175+
doc = Doc();
212176

213177
if __name__ == '__main__':
214178
print __name__

0 commit comments

Comments
 (0)