Last active
December 3, 2020 16:09
-
-
Save chuongmep/bc20a4f877c7a16fbdca5f41162bcb21 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Author Package RIE | |
import clr | |
clr.AddReference('RevitAPI') | |
from Autodesk.Revit.DB import * | |
clr.AddReference("RevitNodes") | |
import Revit | |
clr.ImportExtensions(Revit.Elements) | |
clr.AddReference("RevitServices") | |
import RevitServices | |
from RevitServices.Persistence import DocumentManager | |
from RevitServices.Transactions import TransactionManager | |
def tolist(obj): | |
if isinstance(obj, list): | |
return UnwrapElement(obj) | |
else: | |
return [UnwrapElement(obj)] | |
doc = DocumentManager.Instance.CurrentDBDocument | |
sheetnames = tolist(IN[0]) | |
sheetnumbers = tolist(IN[1]) | |
titleblock = tolist(IN[2]) | |
sheetlist = [] | |
notcreated = [] | |
TransactionManager.Instance.EnsureInTransaction(doc) | |
for number in range(len(sheetnumbers)): | |
if len(titleblock) > 1: | |
newsheet = ViewSheet.Create(doc,titleblock[number].GetTypeId()) | |
else: | |
newsheet = ViewSheet.Create(doc,titleblock[0].GetTypeId()) | |
newsheet.Name = sheetnames[number] | |
try: | |
newsheet.SheetNumber = sheetnumbers[number] | |
sheetlist.append(newsheet.ToDSType(False)) | |
except: | |
notcreated.append(number) | |
doc.Delete(newsheet.Id) | |
TransactionManager.Instance.TransactionTaskDone() | |
OUT = sheetlist, notcreated |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static ViewSheet CreateSheet(this Document doc, string sheetname, | |
string sheetnumber, Autodesk.Revit.DB.Element titleblock) | |
{ | |
try | |
{ | |
using (SubTransaction subtran= new SubTransaction(doc)) | |
{ | |
subtran.Start(); | |
string SheetNameFix = RemoveInvalidChars(sheetname); | |
ViewSheet viewSheet = ViewSheet.Create(doc, titleblock.Id); | |
viewSheet.Name = SheetNameFix; | |
viewSheet.SheetNumber = sheetnumber; | |
subtran.Commit(); | |
return viewSheet; | |
} | |
} | |
catch (Exception ex) | |
{ | |
MessageBox.Show($"Have Sheet Number Null or Empty,\n Please Check Again\n{ex}",sheetname); | |
} | |
return null; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Author Package RIE | |
import clr | |
clr.AddReference('RevitAPI') | |
from Autodesk.Revit.DB import * | |
clr.AddReference("RevitNodes") | |
import Revit | |
clr.ImportExtensions(Revit.Elements) | |
clr.AddReference("RevitServices") | |
import RevitServices | |
from RevitServices.Persistence import DocumentManager | |
from RevitServices.Transactions import TransactionManager | |
def tolist(obj): | |
if isinstance(obj, list): | |
return UnwrapElement(obj) | |
else: | |
return [UnwrapElement(obj)] | |
doc = DocumentManager.Instance.CurrentDBDocument | |
sheetnames = tolist(IN[0]) | |
sheetnumbers = tolist(IN[1]) | |
titleblock = tolist(IN[2]) | |
sheetlist = [] | |
notcreated = [] | |
TransactionManager.Instance.EnsureInTransaction(doc) | |
for number in range(len(sheetnumbers)): | |
if len(titleblock) > 1: | |
newsheet = ViewSheet.Create(doc,titleblock[number].Id) | |
else: | |
newsheet = ViewSheet.Create(doc,titleblock[0].Id) | |
newsheet.Name = sheetnames[number] | |
try: | |
newsheet.SheetNumber = sheetnumbers[number] | |
sheetlist.append(newsheet.ToDSType(False)) | |
except: | |
notcreated.append(number) | |
doc.Delete(newsheet.Id) | |
TransactionManager.Instance.TransactionTaskDone() | |
OUT = sheetlist, notcreated |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static ViewSheet CreateSheet(this Document doc, string sheetname, | |
string sheetnumber, Autodesk.Revit.DB.Element titleblock) | |
{ | |
try | |
{ | |
using (SubTransaction subtran= new SubTransaction(doc)) | |
{ | |
subtran.Start(); | |
string SheetNameFix = RemoveInvalidChars(sheetname); | |
ViewSheet viewSheet = ViewSheet.Create(doc, titleblock.GetTypeId()); | |
viewSheet.Name = SheetNameFix; | |
viewSheet.SheetNumber = sheetnumber; | |
subtran.Commit(); | |
return viewSheet; | |
} | |
} | |
catch (Exception ex) | |
{ | |
MessageBox.Show($"Have Sheet Number Null or Empty,\n Please Check Again\n{ex}",sheetname); | |
} | |
return null; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment