SlideShare a Scribd company logo
1 of 25
Download to read offline
Brought to you by Knowledge Partner
To Infinity and beyond:
transforming 1000000 sq.m. of CAD
data to Revit models
Nikolay Gerasimov
2
To Infinity and beyond
Content
0. About us
1. About the project
2. Data processing concept
3. 3 must-have skills
4. Project realisation
5. Lessons learnt
6. Q&A
3
We are:
▪ 30+ employees from 8 countries
▪ Consultants in areas of BIM and data
management
▪ Developers of custom solutions and common
toolbox
▪ Providers of teaching courses for engineers and
PMs and web-based source
About us
4
About me
▪ PhD in physics
▪ In AEC since 2006
▪ HVAC engineer, BIM manager, MEP BIM Expert…
▪ Worked in Russia, Germany, Austria
5
About the project
▪ Cannot name the client because of legal reasons
▪ 60 buildings
▪ 27000 rooms
▪ 4 CAD systems (the main one is 40 years old!)
▪ 10 databases
▪ 2 Million objects on the drawings
▪ 1 drawings file with 1.4 Mln objects and 27000
viewports
6
Data transfer goal
▪ The final goal is to continue the planning (i.e.
drawing) and FM in Revit
▪ Existing graphics must be converted into Revit
models with editable elements
▪ There were no clear requirements to the
models: client expected smooth and easy
transition without any efforts from his side
▪ The task is not to create something new but find
the way to transform existing things to another
form
▪ When you create new, you can always say: “Ok,
that’s what you get. Where’s my money?”
▪ Data processing is different – you can really fail.
But this is the main fun ☺
7
Data Processing Concept
▪Data is a mathematical representation
of information
▪ Mathematics is a universal language
▪ It allows one to solve any problem predictably,
completely, reproducibly and robust
▪ It is not empirical
▪ Only mathematical problems can be automated
▪ Finding a proper representation can be the most
difficult step
8
Fundamental skills for data processing
Diagramming
▪„Pathfinding“ problem
▪ Teaches you to think sequentially and
pragmatically
▪ Helps you to think of the Data as a whole
▪ Helps you to see Patterns and Bottle Necks
▪ Helps you to measure how close you are to the
goal
▪ Pretty means correct
9
Fundamental skills for data processing
Database programming
▪ Tables are one of the most convenient form
to store data
▪ Databases is a 50 years old technology of
storing and processing data
▪ Helps you to further improve the vision of
data as a whole
▪ Gives you the idea of „relations“ between
data and the instruments to use these
relations
▪ Teaches you to ask questions
▪ Teaches you one of the easiest programming
languages - SQL
10
Fundamental skills for data processing
Scripting
▪ The main problem of all „programming“ courses:
they teach you the language, not how it is
related to your problems
▪ Gives you the power to do absolutely anything
one can do with computers. And to be in charge
for that
▪ Allows you to write algorithms – instructions
how exactly you want to process the data – to
control performance
▪ Teaches you to control robustness of the
processing – what can go wrong and what
happens this case
11
▪ Programming consists of a lot of Technologies
▪ You choose a proper one depending on the goal
▪ Python allows you to get the result
▪ C-languages allow you to build the road
Fundamental skills for data processing
Python C (#, ++)
12
Project planning
0. Have you done this before?
1. To what area does your problem belong to?
2. How different are your incomes and desired outcomes?
3. How to represent them as data? Which data structures are common in the area?
4. What kind of math does operate these data?
5. What tools are common to operate your data by proper math?
6. How to measure the completeness and correctness of the result?
7. What happens if something is changed?
13
Project planning
BPMN Diagrams
14
Solution 0
▪ Link DWG to Revit
▪ Import DWG to Revit
0. We have done this before
1. We expect to see the same graphics in Revit as
on DWGs
2. Both incomes and outcomes formats are
supported by Revit
3. We already have our data in proper formats
4. We rely on native Revit functionality
5. We use only well known Revit
6. We can check results only visually. We know,
we loose all text. Result are lines, not model
objects.
7. In case of a change we need to reimport DWG
again. Some changes cannot be implemented
at all.
15
Solution 0.3
▪ Link DWG to Revit
▪ Read DWG content as curves with coordinates
▪ Place families of line and arc so on the same
place
0. We need to deal with Revit API
1. We expect to see the same graphics in Revit as
on DWGs
2. Both incomes and outcomes formats are
supported by Revit
3. We already have our data in proper formats
4. We rely on Revit API and need to deal with
coordinates transformations
5. We use only Revit and Dynamo (macros)
6. We can check results only visually. We know,
we loose all text. Result are “models by
curves”. We’ve lost all styles.
7. In case of a change we need to reimport DWG
again. Some changes cannot be implemented
at all.
16
Solution 0.9
▪ To restore line styles and make result “more
Revit” we create families for each block from
DWG and place them accordingly
▪ AutoCAD has native feature to export blocks
data: name, position, rotation, scale – to Excel
table
▪ There is also a custom LISP script (from the
Internet) to batch export blocks as separate
DWGs
▪ Overall we expected about 400.000 blocks as
their names come from original CAD system
▪ Blocks DWGs are imported into detail item
template and saved as separate families with the
same name as block
17
Solution 0.9
▪ The process becomes more advanced
▪ We generate new data which are used only inside the
process itself (a lot of data)
▪ We reuse some parts of previous iterations
0. We are still within our competencies
1. We expect to see the same graphics in Revit as on
DWGs
2. We use Excel as input for Revit and need to deal
with it
3. We have intermediate data between preprocess and
core (though in proper format)
4. We keep on challenging our knowledge in Revit API
5. We are still within well known tools
6. We can check results only visually. We loose all text.
Result are 2D models.
7. Changes still require reimport
18
EPIC FAIL
▪ Blocks of the same name have different
geometry and insertion points
▪ They look the same but the data behind are
different!
▪ Can we process our data not as coordinates but
as we see them – as graphics itself?
▪ How to process pictures?
19
Solution 1
▪ One cannot process a picture – he needs to
represent it as an image
▪ Image is a data structure(s) which is widely used
to process graphical information
▪ Image processing is a classical part of computer
science, well known and well developed. If only
we could use CPython…
▪ Thanks to BiLT 2018 and Mariam Osman we can
connect CPython to Revit with just 3 (or more)
lines of code
▪ This opens the Pandora Box…
20
Solution 1
▪ We need to return to idea of processing data
only from Revit
▪ We already know all the steps on Revit side
▪ We have not done image processing before – it
was a very heavy lifting to set it up
▪ We lost line styles again and still have no text
▪ The expected amount of resulting families was
about the same number as of elements while we
cannot compare graphics between DWGs, only
within one set (usually a building)
21
Solution 2
▪ To compare graphics between different sets of
DWGs we need to store the intermediate results
▪ We are going to store about 100-400 thousand
2D geometries and need to process them as fast
as possible
▪ GIS – technology to process massive 2D
geometry data
▪ PostGIS is a free and powerful DB for 2D graphics
▪ QGIS is a free tool to visualise geometry data
stored in PostGIS (or other sources)
▪ Apart from that, the client switched from the
DWG to XML format
▪ We also need to further improve grouping of
different graphics into families
22
Solution 2
▪ As expected, adding a storage dimension to the
process made it more mature, robust, scalable
and adjustable
▪ GIS was a right guess (or logical choise) – it‘s a
whole universe of tools and concepts to process
geometry
▪ To orient yourself in an unknown universe you
use simple metrics – performance
▪ Adding complexity to the process must be
balanced with benefits: completeness,
reproducibility, robustness, performance,
scalability
▪ We managed to migrate all data, including text
and dimensions, to native Revit objects
▪ The time to migrate one building dropped down
from a week to 3-4 hours
23
Solution 2
▪ We are even able to reconstruct Revit walls from set
of lines including gaps for doors and windows…
24
Lessons learnt
▪ It took 1,5 year to go from DWG import to the walls
recognition algorithm
▪ There is nothing wrong to go back sometimes. The
key is - proper balance between things that you know
and that you’re learning
▪ You make the next improvement only when you
understand what exactly doesn’t work. No trial-and-
error on live projects!
▪ Look around. AEC industry is a bad place for
inspiration
▪ You must be ready for “project of your life”, don’t sit
and wait for it!
Brought to you by Knowledge Partner
Nikolay Gerasimov
nikolay.gerasimov@plandata.eu
Thank you for joining us!
To Infinity and beyond…

More Related Content

Similar to Presentation dbei insight to infinity and beyond

Workshop Español - Introducción a Neo4j
Workshop Español - Introducción a Neo4jWorkshop Español - Introducción a Neo4j
Workshop Español - Introducción a Neo4jNeo4j
 
Cheetah solver breakthrough in geometric constraints modeling
Cheetah solver   breakthrough in geometric constraints modelingCheetah solver   breakthrough in geometric constraints modeling
Cheetah solver breakthrough in geometric constraints modelingNick Sidorenko
 
How to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationHow to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationSafe Software
 
Blender for ArchViz.pdf
Blender for ArchViz.pdfBlender for ArchViz.pdf
Blender for ArchViz.pdfshan_1900
 
Graph Data Science at Scale
Graph Data Science at ScaleGraph Data Science at Scale
Graph Data Science at ScaleNeo4j
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...Databricks
 
APG_Civil_3D_2017_TOC_Sample papers .pdf
APG_Civil_3D_2017_TOC_Sample papers .pdfAPG_Civil_3D_2017_TOC_Sample papers .pdf
APG_Civil_3D_2017_TOC_Sample papers .pdfBerhanuGebreyohannes
 
chapter 6 data visualization ppt.pptx
chapter 6 data visualization ppt.pptxchapter 6 data visualization ppt.pptx
chapter 6 data visualization ppt.pptxsayalisonavane3
 
Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7drupalcampest
 
How to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldHow to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldKaren Lopez
 
Dataflow Visualization using ASCII DAG
Dataflow Visualization using ASCII DAGDataflow Visualization using ASCII DAG
Dataflow Visualization using ASCII DAGgree_tech
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Debraj GuhaThakurta
 
How to Create GIS and BIM Interoperability
How to Create GIS and BIM InteroperabilityHow to Create GIS and BIM Interoperability
How to Create GIS and BIM InteroperabilitySafe Software
 
Extend the Value of Your BIM Data with FME: Part 1
Extend the Value of Your BIM Data with FME: Part 1Extend the Value of Your BIM Data with FME: Part 1
Extend the Value of Your BIM Data with FME: Part 1Safe Software
 
Journey of The Connected Enterprise - Knowledge Graphs - Smart Data
Journey of The Connected Enterprise - Knowledge Graphs - Smart DataJourney of The Connected Enterprise - Knowledge Graphs - Smart Data
Journey of The Connected Enterprise - Knowledge Graphs - Smart DataBenjamin Nussbaum
 
DII PRESENTATION (APRIL 2021)
DII PRESENTATION (APRIL 2021)DII PRESENTATION (APRIL 2021)
DII PRESENTATION (APRIL 2021)Roman Zakharov
 

Similar to Presentation dbei insight to infinity and beyond (20)

Workshop Español - Introducción a Neo4j
Workshop Español - Introducción a Neo4jWorkshop Español - Introducción a Neo4j
Workshop Español - Introducción a Neo4j
 
Cheetah solver breakthrough in geometric constraints modeling
Cheetah solver   breakthrough in geometric constraints modelingCheetah solver   breakthrough in geometric constraints modeling
Cheetah solver breakthrough in geometric constraints modeling
 
A data analyst view of Bigdata
A data analyst view of Bigdata A data analyst view of Bigdata
A data analyst view of Bigdata
 
How to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationHow to Automate CAD & GIS Integration
How to Automate CAD & GIS Integration
 
3 dplus2d rev2
3 dplus2d rev23 dplus2d rev2
3 dplus2d rev2
 
Blender for ArchViz.pdf
Blender for ArchViz.pdfBlender for ArchViz.pdf
Blender for ArchViz.pdf
 
Graph Data Science at Scale
Graph Data Science at ScaleGraph Data Science at Scale
Graph Data Science at Scale
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 
APG_Civil_3D_2017_TOC_Sample papers .pdf
APG_Civil_3D_2017_TOC_Sample papers .pdfAPG_Civil_3D_2017_TOC_Sample papers .pdf
APG_Civil_3D_2017_TOC_Sample papers .pdf
 
chapter 6 data visualization ppt.pptx
chapter 6 data visualization ppt.pptxchapter 6 data visualization ppt.pptx
chapter 6 data visualization ppt.pptx
 
Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7
 
How to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldHow to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database World
 
Dataflow Visualization using ASCII DAG
Dataflow Visualization using ASCII DAGDataflow Visualization using ASCII DAG
Dataflow Visualization using ASCII DAG
 
Mathcad 15 overview
Mathcad 15 overviewMathcad 15 overview
Mathcad 15 overview
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017
 
How to Create GIS and BIM Interoperability
How to Create GIS and BIM InteroperabilityHow to Create GIS and BIM Interoperability
How to Create GIS and BIM Interoperability
 
Extend the Value of Your BIM Data with FME: Part 1
Extend the Value of Your BIM Data with FME: Part 1Extend the Value of Your BIM Data with FME: Part 1
Extend the Value of Your BIM Data with FME: Part 1
 
Journey of The Connected Enterprise - Knowledge Graphs - Smart Data
Journey of The Connected Enterprise - Knowledge Graphs - Smart DataJourney of The Connected Enterprise - Knowledge Graphs - Smart Data
Journey of The Connected Enterprise - Knowledge Graphs - Smart Data
 
DII PRESENTATION (APRIL 2021)
DII PRESENTATION (APRIL 2021)DII PRESENTATION (APRIL 2021)
DII PRESENTATION (APRIL 2021)
 
baji[4_4]
baji[4_4]baji[4_4]
baji[4_4]
 

More from Nikolay Gerasimov

Курс проектирования эффективных зданий
Курс проектирования эффективных зданийКурс проектирования эффективных зданий
Курс проектирования эффективных зданийNikolay Gerasimov
 
HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-
HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-
HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-Nikolay Gerasimov
 
1 этаж-Вентиляция
1 этаж-Вентиляция1 этаж-Вентиляция
1 этаж-ВентиляцияNikolay Gerasimov
 

More from Nikolay Gerasimov (7)

7 - Схемы систем
7 - Схемы систем7 - Схемы систем
7 - Схемы систем
 
Курс проектирования эффективных зданий
Курс проектирования эффективных зданийКурс проектирования эффективных зданий
Курс проектирования эффективных зданий
 
TheTree.Project
TheTree.ProjectTheTree.Project
TheTree.Project
 
TheTree
TheTreeTheTree
TheTree
 
3D
3D3D
3D
 
HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-
HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-
HVAC+AR2013 MC1 - Sheet - 8 - Таблица воздушно-тепловых балансов-
 
1 этаж-Вентиляция
1 этаж-Вентиляция1 этаж-Вентиляция
1 этаж-Вентиляция
 

Recently uploaded

RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAbdelrhman abooda
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...ThinkInnovation
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceSapana Sha
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 

Recently uploaded (20)

RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts Service
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 

Presentation dbei insight to infinity and beyond

  • 1. Brought to you by Knowledge Partner To Infinity and beyond: transforming 1000000 sq.m. of CAD data to Revit models Nikolay Gerasimov
  • 2. 2 To Infinity and beyond Content 0. About us 1. About the project 2. Data processing concept 3. 3 must-have skills 4. Project realisation 5. Lessons learnt 6. Q&A
  • 3. 3 We are: ▪ 30+ employees from 8 countries ▪ Consultants in areas of BIM and data management ▪ Developers of custom solutions and common toolbox ▪ Providers of teaching courses for engineers and PMs and web-based source About us
  • 4. 4 About me ▪ PhD in physics ▪ In AEC since 2006 ▪ HVAC engineer, BIM manager, MEP BIM Expert… ▪ Worked in Russia, Germany, Austria
  • 5. 5 About the project ▪ Cannot name the client because of legal reasons ▪ 60 buildings ▪ 27000 rooms ▪ 4 CAD systems (the main one is 40 years old!) ▪ 10 databases ▪ 2 Million objects on the drawings ▪ 1 drawings file with 1.4 Mln objects and 27000 viewports
  • 6. 6 Data transfer goal ▪ The final goal is to continue the planning (i.e. drawing) and FM in Revit ▪ Existing graphics must be converted into Revit models with editable elements ▪ There were no clear requirements to the models: client expected smooth and easy transition without any efforts from his side ▪ The task is not to create something new but find the way to transform existing things to another form ▪ When you create new, you can always say: “Ok, that’s what you get. Where’s my money?” ▪ Data processing is different – you can really fail. But this is the main fun ☺
  • 7. 7 Data Processing Concept ▪Data is a mathematical representation of information ▪ Mathematics is a universal language ▪ It allows one to solve any problem predictably, completely, reproducibly and robust ▪ It is not empirical ▪ Only mathematical problems can be automated ▪ Finding a proper representation can be the most difficult step
  • 8. 8 Fundamental skills for data processing Diagramming ▪„Pathfinding“ problem ▪ Teaches you to think sequentially and pragmatically ▪ Helps you to think of the Data as a whole ▪ Helps you to see Patterns and Bottle Necks ▪ Helps you to measure how close you are to the goal ▪ Pretty means correct
  • 9. 9 Fundamental skills for data processing Database programming ▪ Tables are one of the most convenient form to store data ▪ Databases is a 50 years old technology of storing and processing data ▪ Helps you to further improve the vision of data as a whole ▪ Gives you the idea of „relations“ between data and the instruments to use these relations ▪ Teaches you to ask questions ▪ Teaches you one of the easiest programming languages - SQL
  • 10. 10 Fundamental skills for data processing Scripting ▪ The main problem of all „programming“ courses: they teach you the language, not how it is related to your problems ▪ Gives you the power to do absolutely anything one can do with computers. And to be in charge for that ▪ Allows you to write algorithms – instructions how exactly you want to process the data – to control performance ▪ Teaches you to control robustness of the processing – what can go wrong and what happens this case
  • 11. 11 ▪ Programming consists of a lot of Technologies ▪ You choose a proper one depending on the goal ▪ Python allows you to get the result ▪ C-languages allow you to build the road Fundamental skills for data processing Python C (#, ++)
  • 12. 12 Project planning 0. Have you done this before? 1. To what area does your problem belong to? 2. How different are your incomes and desired outcomes? 3. How to represent them as data? Which data structures are common in the area? 4. What kind of math does operate these data? 5. What tools are common to operate your data by proper math? 6. How to measure the completeness and correctness of the result? 7. What happens if something is changed?
  • 14. 14 Solution 0 ▪ Link DWG to Revit ▪ Import DWG to Revit 0. We have done this before 1. We expect to see the same graphics in Revit as on DWGs 2. Both incomes and outcomes formats are supported by Revit 3. We already have our data in proper formats 4. We rely on native Revit functionality 5. We use only well known Revit 6. We can check results only visually. We know, we loose all text. Result are lines, not model objects. 7. In case of a change we need to reimport DWG again. Some changes cannot be implemented at all.
  • 15. 15 Solution 0.3 ▪ Link DWG to Revit ▪ Read DWG content as curves with coordinates ▪ Place families of line and arc so on the same place 0. We need to deal with Revit API 1. We expect to see the same graphics in Revit as on DWGs 2. Both incomes and outcomes formats are supported by Revit 3. We already have our data in proper formats 4. We rely on Revit API and need to deal with coordinates transformations 5. We use only Revit and Dynamo (macros) 6. We can check results only visually. We know, we loose all text. Result are “models by curves”. We’ve lost all styles. 7. In case of a change we need to reimport DWG again. Some changes cannot be implemented at all.
  • 16. 16 Solution 0.9 ▪ To restore line styles and make result “more Revit” we create families for each block from DWG and place them accordingly ▪ AutoCAD has native feature to export blocks data: name, position, rotation, scale – to Excel table ▪ There is also a custom LISP script (from the Internet) to batch export blocks as separate DWGs ▪ Overall we expected about 400.000 blocks as their names come from original CAD system ▪ Blocks DWGs are imported into detail item template and saved as separate families with the same name as block
  • 17. 17 Solution 0.9 ▪ The process becomes more advanced ▪ We generate new data which are used only inside the process itself (a lot of data) ▪ We reuse some parts of previous iterations 0. We are still within our competencies 1. We expect to see the same graphics in Revit as on DWGs 2. We use Excel as input for Revit and need to deal with it 3. We have intermediate data between preprocess and core (though in proper format) 4. We keep on challenging our knowledge in Revit API 5. We are still within well known tools 6. We can check results only visually. We loose all text. Result are 2D models. 7. Changes still require reimport
  • 18. 18 EPIC FAIL ▪ Blocks of the same name have different geometry and insertion points ▪ They look the same but the data behind are different! ▪ Can we process our data not as coordinates but as we see them – as graphics itself? ▪ How to process pictures?
  • 19. 19 Solution 1 ▪ One cannot process a picture – he needs to represent it as an image ▪ Image is a data structure(s) which is widely used to process graphical information ▪ Image processing is a classical part of computer science, well known and well developed. If only we could use CPython… ▪ Thanks to BiLT 2018 and Mariam Osman we can connect CPython to Revit with just 3 (or more) lines of code ▪ This opens the Pandora Box…
  • 20. 20 Solution 1 ▪ We need to return to idea of processing data only from Revit ▪ We already know all the steps on Revit side ▪ We have not done image processing before – it was a very heavy lifting to set it up ▪ We lost line styles again and still have no text ▪ The expected amount of resulting families was about the same number as of elements while we cannot compare graphics between DWGs, only within one set (usually a building)
  • 21. 21 Solution 2 ▪ To compare graphics between different sets of DWGs we need to store the intermediate results ▪ We are going to store about 100-400 thousand 2D geometries and need to process them as fast as possible ▪ GIS – technology to process massive 2D geometry data ▪ PostGIS is a free and powerful DB for 2D graphics ▪ QGIS is a free tool to visualise geometry data stored in PostGIS (or other sources) ▪ Apart from that, the client switched from the DWG to XML format ▪ We also need to further improve grouping of different graphics into families
  • 22. 22 Solution 2 ▪ As expected, adding a storage dimension to the process made it more mature, robust, scalable and adjustable ▪ GIS was a right guess (or logical choise) – it‘s a whole universe of tools and concepts to process geometry ▪ To orient yourself in an unknown universe you use simple metrics – performance ▪ Adding complexity to the process must be balanced with benefits: completeness, reproducibility, robustness, performance, scalability ▪ We managed to migrate all data, including text and dimensions, to native Revit objects ▪ The time to migrate one building dropped down from a week to 3-4 hours
  • 23. 23 Solution 2 ▪ We are even able to reconstruct Revit walls from set of lines including gaps for doors and windows…
  • 24. 24 Lessons learnt ▪ It took 1,5 year to go from DWG import to the walls recognition algorithm ▪ There is nothing wrong to go back sometimes. The key is - proper balance between things that you know and that you’re learning ▪ You make the next improvement only when you understand what exactly doesn’t work. No trial-and- error on live projects! ▪ Look around. AEC industry is a bad place for inspiration ▪ You must be ready for “project of your life”, don’t sit and wait for it!
  • 25. Brought to you by Knowledge Partner Nikolay Gerasimov nikolay.gerasimov@plandata.eu Thank you for joining us! To Infinity and beyond…