These is code I used to get coordinate
# Load the Python Standard and DesignScript Libraries
# Import Common Language Runtime
import clr
# Import Revit Services
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
import System
from System.Collections.Generic import *
#get the document
doc = DocumentManager.Instance.CurrentDBDocument
#Function
def line(number1, number2, number3, number4, number5, number6, number7):
x1 = number1
y1 = number2
z1 = number3
x2 = number4
y2 = number5
z2 = number6
nx1 = number1 + number7
count = 0
while (count < 2):
pt1 = XYZ(x1, y1, z1)
pt2 = XYZ(x2, y2, z2)
pt3 = XYZ(nx1, y1, z1)
pt4 = XYZ(nx1, y2, z2)
y1 = y1 + number7
y2 = y2 + number7
count = count + 1
mylist.append(pt1)
mylist.append(pt2)
mylist.append(pt3)
mylist.append(pt4)
num1 = IN[0]
num2 = IN[1]
num3 = IN[2]
num4 = IN[3]
num5 = IN[4]
num6 = IN[5]
num7 = IN[6]
mylist = []
result = line(num1, num2, num3, num4, num5, num6, num7)
OUT = mylist
Which I successfully build loop creation of pt but when I try to add create line into these loop function to looping create line but it shown error AttributeError: ‘type’ object has no attribute ‘CreateBound’. However, I have been searching for command used to create line by coordinate even RevitAPIdoc give me these scripts
Line1 = Line.CreateBound(pt1, pt2);
So I try to insert these line of code into my while loop as follow
# Load the Python Standard and DesignScript Libraries
# Import Common Language Runtime
import clr
# Import Revit Services
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
import System
from System.Collections.Generic import *
#get the document
doc = DocumentManager.Instance.CurrentDBDocument
#Function
def line(number1, number2, number3, number4, number5, number6, number7):
x1 = number1
y1 = number2
z1 = number3
x2 = number4
y2 = number5
z2 = number6
nx1 = number1 + number7
count = 0
while (count < 2):
pt1 = XYZ(x1, y1, z1)
pt2 = XYZ(x2, y2, z2)
pt3 = XYZ(nx1, y1, z1)
pt4 = XYZ(nx1, y2, z2)
line1 = Line.CreateBound(pt1, pt2)
line2 = Line.CreateBound(pt3, pt4)
y1 = y1 + number7
y2 = y2 + number7
count = count + 1
mylist.append(pt1)
mylist.append(pt2)
mylist.append(pt3)
mylist.append(pt4)
num1 = IN[0]
num2 = IN[1]
num3 = IN[2]
num4 = IN[3]
num5 = IN[4]
num6 = IN[5]
num7 = IN[6]
mylist = []
result = line(num1, num2, num3, num4, num5, num6, num7)
OUT = mylist
My target is to repeat create 2 line for each time while loop looping but it keep notice me of these error AttributeError: ‘type’ object has no attribute ‘CreateBound’. Did I forgot to import some function?