I write this post cause i’m having several problems on creating a grid of columns and beams I still don’t identify
I’m writting a dynamo script to automatically model a simple modular house foundation that consists on some columns that support home skeleton and transmits their loads on some foundation beams directly placed on terrain
Ok, I’ve programed the script succesfully in concept: The inputs in the dynamo environment seem to be ok but, in practise, Revit interface shows columns and beams slightly sloped at the point that the building breaks rectangular floor plan onto two rectangles, even although the lists of provided points that should build this elements are ok (i’ve checked them)
For example, in that point, beam becomes sloped trying to get connected with columns start points, as shows:
I know that beam elements in revit has an odd behavior some times but i don’t know if it could be posible to solve it or should I settle for this situation
Use this link Unique Download Link | WeTransfer to get the .rvt file and the script i’m writting if you want to check. Note that selecting steel frame structure is needed to generate a new foundation
Yeah, sorry cause perhaps i didn’t explain myself in a good way
Previous picture is the current result of my script (attached with my previous comment) and this image
Would be de desiderated result with the middle beam just vertical and aligned with others. Find in this link Unique Download Link | WeTransfer this ‘wanted’ versión (although some columns still are not completely vertical) and a simplified versión of the script if you want to check it in a easiest way
Try what @jmark suggested and see if that works for you. What also may be an issue is with the grips at the ends of the beams by default being set to “Allow Join”. So all of the beams are connecting at the center of the columns. If that is the case, then below will help with that. You can feed a list of beams into the python script if needed. Also, you may have to run this, before you run @jmark tool.
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB.Structure import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
element = UnwrapElement(IN[0]) if isinstance(IN[0],list) else [UnwrapElement(IN[0])]
TransactionManager.Instance.EnsureInTransaction(doc)
for e in element:
StructuralFramingUtils.DisallowJoinAtEnd(e,0)
StructuralFramingUtils.DisallowJoinAtEnd(e,1)
TransactionManager.Instance.TransactionTaskDone()
OUT = element