PlugIn for Excel import into Sketchup

Hello SketchUp family,

I was searching for quite a bit to find a good PlugIn with that I can import a excel-file which contains attributes of a model into SketchUp. In the excel file, I want to write down attributes for objects like a excavator or a crane. The attibutes contain infomation like usage of petrol, or costs for one hour working time and this information should automatically go into a model in SketchUp. Later I want to export the model of the excavator as a ifc-file, so I can use it in other programs for calculating costs of a whole construction site.

I have read already names like “Attribute Inspector” or from wisext " SU2XL". Does anybody know other Plugins, or has some ideas how I can solve this problem?

I want to write my bachelor thesis about this kind of topic and I would be more than keen, if anybody has some information wich can help me.

Best Regards from Germany

Jan

Look at it ผมรับพัฒนาเครื่องมือ BIM... - Warunyoo Songkran | Facebook

1 Like

Hi Jan,

That is a very interesting subject for your bachlor thesis.

Maybe the XLSX dumper from @kengey can help you further.
https://extensions.sketchup.com/extension/d18f5dc3-ac1c-4615-9e4b-7afc702181cd/xlsx-dumper

I have devoted my entire study to the BIM working method and what influence this has on various business processes. My advice is also to learn how to program if your interest is there.

SketchUp has an extensive Ruby API that can be consulted online.

Ruby is a programming language designed for easy and fast object-oriented programming.
You could develop an extension / script yourself during your thesis.

2 Likes

Thank you for the reference, @nnijmeijer.
However, XLSX Dumper is intended to export data from SketchUp to Excel.

I once started working on a tool that could import data from various datasources, such as Excel, and then update attributes on Dynamic Components using that data. But, unfortunately for that tool I came along some other opportunities and did not complete it. Maybe I pick it up again somewhere in the future.

Maybe, @anno08 Dynamic Components as such, already provide you with enough features for what you need?

Because Excel and other spreadsheet apps can save their data in CSV format that is much easier to parse and get info into SketchUp via the API.
CSV is Comma-Separated-Variables
One line for each data set and logically assigned columns, so for example:

`Component,X,Y,Z,RotX,RotY,RotZ,Material,Tag

The Component is the name of the SKP component saved with your code or project - it already loaded into the model - your Ruby will parse that out and load it into the model if needed or use the preexisting definition and insert an Instance.
That Instance can then be Transformed to the desired location [x,y,z] and rotated if desired, and even assigned a Material or Layer[Tag]. You can assign IFC attributes to the objects for use later…
The definitions can also have custom attributes attached to cover whatever you desire - cost, fuel_use, etc
These can be set and get in code…

4 Likes

That’s right, but it is a very nice exporter. So definitely worth a look.

If you want to calculate with an existing SketchUp extension, then the Quantifier Pro extension is definitely worth a look. With this extension you can also use an Excel “cost database” to export and import unified cost data across multiple SketchUp models.

3 Likes

Thank you. I am glad that you think of it as such.

2 Likes

Hello,

I also think its a interesting topic. Never did programming before and thats why I was looking for a PlugIn which is suitable for this kind of things. Is Ruby easy to learn? I would like to learn it, but better without any pressure.

Hello,

I think you should keep working on this PlugIn, because more and more companys trying to use BIM. So does the company Im writing at my thesis.

I need to have a deeper look what dynamic components are able to do. The boss of the company wants to have all attributes in excel and wants to import in to SketchUp in the dynamic components. I know you can do this also manually in each dynamic component. I mean… thats the part of the bachelor thesis… finding out whats the best way to get the attributes into the dynamic components. There are more ways and from excel to SketchUp is just one of it. :slight_smile:

So I was thinking… how realistic would it be to make a PlugIn in like 1-2 months? I dont have any skills in coding so I would start from scratch. Some people told me, to learn Ruby is not that hard, but I cant imagine to get a running PlugIn in this short time. What do you guys think?

To do what? Generate geometry, transform (eg. move,scale,rotate), or just attach data?

If you wanna use the SketchUp Model to hold the data, you will restrict the usage to all that are familiar with SketchUp or have access to your .skp file. Export and import will always be necesary, but if you wanna reduce error, you need to reduce all chances off.

1 Like

They have already the dynmic models, the missing part is to attach attributes to it.

Than, I have no other option to ping @pcmoor

1 Like

It is not going to happen in 1-2 months if you have no coding knowledge. It is likely not just Ruby that you need to learn, but also how the SketchUp API extends Ruby to access model data.

Even more complex is knowing how to “hack” SketchUp’s Dynamic Components which are a closed source extension to SketchUp. (Ie, there is no documentation for how DCs work.)

And then, you’ll need interface dialogs which likely need to be Html Dialogs so you’d also need to learn HTML, JavaScript and CSS.

And add to this that you’d need a good knowledge of Excel VBS and/or it’s spreadsheet file format(s).

And a word on using Excel for data. Excel is foremost a spreadsheet application and not so much a dedicated database application. (Although over the years more and more data functions have been added into it.)
I echo Jack’s question, why would your boss need to control dynamic attributes from a spreadsheet application where it’s still all manual entry and prone to introducing errors ? Why not a database application (like Access) where a form to interface with the attribute data is more easily crafted ?

1 Like

Ahh Access, the so much forgotten bigger brother of Excel.

Makes me think… .skp as a database

:slight_smile: upcase(word)=Word

If you are going this route, you need to ‘formalize’ the tables and reduce the needed input. What is the lowest level? A Component? Or Group? Or Edge? Etc.
Also, the model needs to be available at any given time for everyone.
SketchUp was always BIM, visualizing the ‘design’ data in a skp, but I guess it was surpassed by certain CAD applications along the way which better controlled the way the data was applied in a uniform way.
Yes it could be done with Ruby, but if you have to reinvent the wheel and all users wind up with a different way, you better look for a more reliable way to exchange and extract data from a 3D Model, like IFC, and send in ‘the clouds’

1 Like

Hi there !

Maybe something like this ?
https://sketchucation.com/forums/viewtopic.php?f=323&t=50866&sid=e9471ae1ee5aced7492a380189c81892

Without any programming knowledge, any language, especially in the beginning, is a bit complicated. But I think Ruby is a very pleasant programming language that is easy to understand. Especially if your interest is there and you are willing to invest time in it, you will be fine.

But as @DanRathbun says, to develop an extension basically you also need to understand SketchUp and the SketchUp API. So not only the programming language Ruby.

It does not seem realistic to say that you develop a complete extension during your bachlor in 1 - 2 months. But of course you can do a setup that supports your research.

I see SketchUp as a central platform with which we generate and visualize information. The 3D (BIM-) model in SketchUp is always dynamic. This contains important information and offers you much more insight. What you see is what you get. It is the “art” to put the 3D (BIM-) model at the center of the process. You then manage the process with the information from this 3D model.

Not all information will be available in a 3D model. Certain information is generated for a specific reason and stored in another system. This doesn’t have to be a problem at all. Because we can connect SketchUp to other systems thanks to the Ruby API.

1 Like

@kengey if you could make plugin like that it would change lots of peoples way of creating DCs.

2 Likes

Thank you for referencing me, @pupoksveta

It has been a while, but if your goal is to link external data to SketchUp models, I came up with another solution: 3DBI. That tool inverses the workflow however: instead of bringing all kinds of data to your SketchUp model, it allows you to bring your SketchUp model to all kinds of data.

To give a bit of history: The moment I found out about Microsoft Power BI, I fell in love. The way that that tool can connect to hundreds of data sources (like excel, databases, webservices, …) and then allows you to quicky visualize all that data in interactive visuals is unseen. In a few clicks you can craft interactive dashboards to visualize just any kind of data. So the first shot I gave it I wrote a little data exporter for SketchUp and in a few minutes I had all data from all components from any SketchUp model visualized in Power BI. But… I missed a visual reference between the data and the 3D model. Just like with fancy Excel sheets, you can see data but it is really hard to keep track of which row relates to which object in SketchUp. So I made it possible to not only bring your SketchUp model’s data to Power BI, but also the actual 3D geometry. Doing so you can then link it back to your data right in Power BI.

In a few clicks you can create dashboards like the ones in this movie:

Not only can you visualize the data already present in your model, you can also use Power BI to link with other data sources and link those together. For example, if you take material quantities out of your model and combine it with material unit prices from Excel (or a webservice or database) you can then create a dashboard where you can see the actual price of each element. Or, if you have for example warehousing data (which products, from which supplier, to which destination, … are located where) and link that to a 3D model of your warehouse, you can craft interactive warehousing dashboards, like in this tutorial: How-To – Custom 3D Power BI visual of a warehouse | KG-dev

2 Likes