Structure Line (early release)

Hi everyone!

My name is Kamal, and I’m an engineer from Indonesia. I have spent a year learning and building a Sketchup extension to automate structure modeling.

The vision is simple: to significantly reduce the time architects and engineers spend on repetitive tasks when modeling structures like houses and buildings.

The extension is still a work in progress, but I want to share an early release with you all. I have open-sourced this extension on github. Please check it out if you are interested!

If you have ideas on how to improve this extension further, you can check the contribution pages in github or you can just simply comment on this post.

Let’s make modeling in SketchUp even faster together :slightly_smiling_face:

2 Likes

I am not going to click a blind link to GitHub from an account with only one post.

What does it do? Engineering calculations? Automate modeling? Steel? Wood? Concrete?

Can you share some screen shots and a video of how it works, what it does? Maybe a quick tutorial?

Have you thought about submitting it through the official warehouse?

I took a look. It actually has more info and demos than many Git Repos. See here: sketchup-structureline/docs/demo/README.md at main · mustafkamal/sketchup-structureline

It’s slick but not fully fleshed out yet.

2 Likes

I completely understand the caution since I am new here. Here is a 3-minute demo:

For now, it only does automate modeling of a confined masonry structure. All these things you mentioned are potential features in the future.

I am planning to publish it on the extension warehouse, but not right now. The current version is still slow, unstable, and won’t be useful to any design firm. Not yet at least. I’ve shared this ‘pre-release’ version for testing, feedback, and collaboration interests.

Thanks!

Unrelated: I’ve checked your timber designs, it’s pretty cool.

1 Like

I am fully aware that there are many things in it that need to be improved and more features to be added. I am still in the middle of developing it. It is pretty fun I say.

Thank you for checking it out :slight_smile:

1 Like

It looks fun.

You might look at OpenCutlist for ideas about your “weird” objects.

The extension registrar file and the extension folder should be named "Mustafa_StructureLine". I.e., it is best to name the registrar and folder the same as the module namespacing. SketchUp’s “Plugins” folder is a shared filespace, so any extension files & folders should have the developer’s name as a prefix.

ADD: This also should apply to the RBZ archives for the extension.

In "main.rb" within the reload method the following is not quite correct:

Dir.glob(File.join(PLUGIN_DIR, "**/*.{rb,rbe}")).each { |f| load(f) }

… meaning that the global Kernel.load method cannot load rbe encrypted files.

Regardless you only have one rb file in the extension folder. I find it is better to create an array of filenames in correct loading order an iterate that array if there are multiple files to load.
But often extension developers use one loader file that loads other files in correct order.

So in this case, it is more straightforward and less error prone to just use …

load(File.join(PLUGIN_DIR, 'main.rb'))

… as during development, the files will be unencrypted.

Later on after public release, there is no reason to define the reload method if the files are rbe as currently there is no simple way to reload them.