Our process
Our process
Our process
On
Subscription
Basic
Pro
Custom
On
Subscription
Basic
Pro
Custom
01. Engage
We explain our services, discuss your business goals and make a flexible agreement, allowing us to define specific assignment orders later.
On
Subscription
Basic
Pro
Custom
01. Engage
We explain our services, discuss your business goals and make a flexible agreement, allowing us to define specific assignment orders later.
02. Request
Start requesting the workflow-automations and AI applications you need, our developers are right there to transform your ideas into reality.
02. Request
Start requesting the workflow-automations and AI applications you need, our developers are right there to transform your ideas into reality.
from Fabrify import FabrifyClient, ElementInference, ModellingContext, SuggestionHandler, DecisionType
from Autodesk.Revit.DB import ElementId
aiClient = FabrifyClient(doc)
def suggest_clt_wall(doc, element_id: ElementId):
"""
Suggest the most suitable CLT wall type for a given
Revit element and context.
Internally, the system leverages element context (type,
category, parameters) along with recent modeling
transactions to tailor the suggestion to inferred design
intent.
"""
# Instantiate a CLT assistant with a recency-weighted
transaction context.
activeContext = ModellingContext.Scaffold(env=Revit)
activeContext.OperationChain = ModellingContext.BuildOperationChain(
model=doc,
chain_length=50,
recency_bias=0.3,
weight_fallof="logarithmic"
)
cltAssistant = ElementInference.CLT.Create(document=doc, context=activeContext)
cltAssistant.Name = "CLT Assistant"
# Preview the most probable suggestion and the reasoning behind it.
suggestion = cltAssistant.Suggest(element_id)
handler = SuggestionHandler(cltAssistant)
handler.ShowMouseModal(suggestion.Suggestion.Data.Reasoning)
handler.PreviewSelectedSuggestion(suggestion.Suggestion.Data.PreviewMesh)
# Track auto-completion reaction and handle it.
decision = SuggestionHandler.OnUserDecision(handler.DecisionType, handler.Option)
suggestion += decision
if decision.Type == DecisionType.CancelOrReject:
SuggestionHandler.AutoClosingModal(duration=3000, msg=decision.Type.Message)
return False
# Record the user's decision in the modeling context
activeContext.ActiveElement.DecisionHistory.Add(suggestion.Suggestion.Data.Decision)
# Commit the model change
res = handler.StartTransaction(doc, suggestion.Model, commit=True)
return bool(res)
from Fabrify import FabrifyClient, ElementInference, ModellingContext, SuggestionHandler, DecisionType
from Autodesk.Revit.DB import ElementId
aiClient = FabrifyClient(doc)
def suggest_clt_wall(doc, element_id: ElementId):
"""
Suggest the most suitable CLT wall type for a given
Revit element and context.
Internally, the system leverages element context (type,
category, parameters) along with recent modeling
transactions to tailor the suggestion to inferred design
intent.
"""
# Instantiate a CLT assistant with a recency-weighted
transaction context.
activeContext = ModellingContext.Scaffold(env=Revit)
activeContext.OperationChain = ModellingContext.BuildOperationChain(
model=doc,
chain_length=50,
recency_bias=0.3,
weight_fallof="logarithmic"
)
cltAssistant = ElementInference.CLT.Create(document=doc, context=activeContext)
cltAssistant.Name = "CLT Assistant"
# Preview the most probable suggestion and the reasoning behind it.
suggestion = cltAssistant.Suggest(element_id)
handler = SuggestionHandler(cltAssistant)
handler.ShowMouseModal(suggestion.Suggestion.Data.Reasoning)
handler.PreviewSelectedSuggestion(suggestion.Suggestion.Data.PreviewMesh)
# Track auto-completion reaction and handle it.
decision = SuggestionHandler.OnUserDecision(handler.DecisionType, handler.Option)
suggestion += decision
if decision.Type == DecisionType.CancelOrReject:
SuggestionHandler.AutoClosingModal(duration=3000, msg=decision.Type.Message)
return False
# Record the user's decision in the modeling context
activeContext.ActiveElement.DecisionHistory.Add(suggestion.Suggestion.Data.Decision)
# Commit the model change
res = handler.StartTransaction(doc, suggestion.Model, commit=True)
return bool(res)
03. Build
Our developers swiftly begin building your custom solutions, prioritising speed without compromising on quality.
from Fabrify import FabrifyClient, ElementInference, ModellingContext, SuggestionHandler, DecisionType
from Autodesk.Revit.DB import ElementId
aiClient = FabrifyClient(doc)
def suggest_clt_wall(doc, element_id: ElementId):
"""
Suggest the most suitable CLT wall type for a given
Revit element and context.
Internally, the system leverages element context (type,
category, parameters) along with recent modeling
transactions to tailor the suggestion to inferred design
intent.
"""
# Instantiate a CLT assistant with a recency-weighted
transaction context.
activeContext = ModellingContext.Scaffold(env=Revit)
activeContext.OperationChain = ModellingContext.BuildOperationChain(
model=doc,
chain_length=50,
recency_bias=0.3,
weight_fallof="logarithmic"
)
cltAssistant = ElementInference.CLT.Create(document=doc, context=activeContext)
cltAssistant.Name = "CLT Assistant"
# Preview the most probable suggestion and the reasoning behind it.
suggestion = cltAssistant.Suggest(element_id)
handler = SuggestionHandler(cltAssistant)
handler.ShowMouseModal(suggestion.Suggestion.Data.Reasoning)
handler.PreviewSelectedSuggestion(suggestion.Suggestion.Data.PreviewMesh)
# Track auto-completion reaction and handle it.
decision = SuggestionHandler.OnUserDecision(handler.DecisionType, handler.Option)
suggestion += decision
if decision.Type == DecisionType.CancelOrReject:
SuggestionHandler.AutoClosingModal(duration=3000, msg=decision.Type.Message)
return False
# Record the user's decision in the modeling context
activeContext.ActiveElement.DecisionHistory.Add(suggestion.Suggestion.Data.Decision)
# Commit the model change
res = handler.StartTransaction(doc, suggestion.Model, commit=True)
return bool(res)
03. Build
Our developers swiftly begin building your custom solutions, prioritising speed without compromising on quality.
Speed
Security
Accuracy
04. Test & Optimise
We iteratively test and review our milestones together with you, so that we can maximise feedback whilst ensuring we work to a well-structured, realistic plan.
Speed
Security
Accuracy
04. Test & Optimise
We iteratively test and review our milestones together with you, so that we can maximise feedback whilst ensuring we work to a well-structured, realistic plan.
05. Become An Industry Leader
We offer the possibility to our clients to engage in extended parnterships, helping both organisations towards becoming a worldwide industry leader.
05. Become An Industry Leader
We offer the possibility to our clients to engage in extended parnterships, helping both organisations towards becoming a worldwide industry leader.
Get in touch
Get in touch
Get in touch
Office
Bloxhub, Bryghuspladsen 8
Copenhagen 1473
Denmark
Bloxhub, Bryghuspladsen 8
Copenhagen 1473
Denmark