'Project Matchbox': 3D Car Modeler
-
Dear all,
Attached is the very first version of a 3D car modeler which is named 'Matchbox' (Remember Matchbox toy cars? )
The whole fancy idea is to generate car models in some fashion (I plan to use interactive genetic algorithm, but now only randomization) so that people can model cars efficiently with styles they prefer. Also, I have to used it for my research to detect trade-offs between styling and engineering criteria.
Right now the model has at least tangent continuities at most places but it still lacks details like wheels and windows. (See the figure attached) And I'm still hesitating if I should add them. What do you think?
BTW, I'm new to SketchUp and Ruby and I'm always encouraged by what people on this forum achieved. Especially, I'm interested in the interactive SketchUp concept where people can manipulate models simultaneously. This will make a virtual design environment possible where people can make choices on automatically evolved objects (e.g. cars). Just my day dream..
Installation: You only need to unzip the files into the plugin folder then click the button appears on the toolbar. You can further smooth the model by removing the comment on line 993 in Matchbox_r.rb
Enjoy.
-Max
-
Oops. Did I attach anything? Here you go: MatchboxPlugin.zip
-
Thanks, interesting. Just tried it and have a few comments.
First my cars end up with the blue face "backside" outwards.
Secondly I think it would be great with some more details like wheels and bumpers and such.
Also some way to have usercontrol over the creation.Also I'm very interested in one of the sub scripts Bezier_surf.rb
Would it be possible to have that also as a standalone script?
Possible workflow could be to draw four connected beziercurves and a beziersurface would be created.
Is this possible? -
Max, this is a very interesting looking project, I think it's one of the best Ruby Scripts(In my Opinion) I've ever used. A Thing I think would enhance it would be a seed generator, so the Ruby script would output a certain random number for each vehicle it makes, that way if we wanted to make the same vehicle again, we'd just enter the seed.
-
Thanks Pixero,
The backside-out thing is my fault, but easy to fix. Also I'm with you about adding bumpers and wheels. However, I don't want to change the wheel design cos this whole thing is focused on the car body. What do you think? I plan to add user-control if the non-controllable interactive genetic algorithm turns out to be not convergent.
Bezier_surf is from 'Victor Liu' on Google SketchUp group. I attached his standalone plug-in: bez-patch.zip (bez-patch.rb should be the entering point).
My contribution to it is to make connected Bezier curve/surfaces have smooth tangent/curvature.-Max
-
A very clever script.
Suggested tweaks:
Add a notifier or progress bar if it takes much longer (e.g. when additional tweaking is added)
Flip the faces so that blue is inside (it's an easy normal swap)
Make the sub-pieces into components, assemble these into a 'half-car' component and make the whole car a component from a pair of handed components.
Make the window areas transparent, and add front/back lights, wheels, trim/handles, floor-pan, dash, steeringwheel, seats etc etc
Add interactivity...Well done to date !
-
Are you using a separate script for linking together multiple bezier curves? and if so can you release it as a separate ruby, it will also be very usefull for making cars.
-
@marian said:
Are you using a separate script for linking together multiple bezier curves? and if so can you release it as a separate ruby, it will also be very usefull for making cars.
I'm sorry for the messed-up code. This is actually my first Ruby code anyway...
I link curves/surfs together in a way that they have continuous tangent or curvature. And I would like to release a separate ruby so that people can attach a curve to a existing one and make sure they linked smoothly. But I don't have a schedule for that... -
@unknownuser said:
I hit the button like crazy but nothing happens.
Hmmm.... That's weird. You should have one entering file "MatchboxPlugin.rb" and a folder with the same name. Do not move files out of that folder.
-
I had this idea of ruby generated cars for months but never uttered a word cause i'm a ruby ignorant and i thought it would be impossible as there would many variables involved.
GOOD JOB antantantant -
Great script, I am amazed with the possibilities, but I think it might need a re-write so we can alter the wheel well size. A 700mm wheel well just isn't big enough to fit the wheels nicely.Would it be too difficult to alter the script so the wheel well doesn't factor in the wheelbase?
-
@crazy eyes said:
Great script, I am amazed with the possibilities, but I think it might need a re-write so we can alter the wheel well size. A 700mm wheel well just isn't big enough to fit the wheels nicely.Would it be too difficult to alter the script so the wheel well doesn't factor in the wheelbase?
Thanks Crazy Eyes,
That is a good question. Several parameters should be further linked with the wheel size. I'll fix them soon. Good observation!
-
wow! cool plugin! also i would suggest to generate the two halves of the car as components.
-
What does this plug-in really do?
-
As Marian said we will be verry happy if u can put the "My contribution to it is to make connected Bezier curve/surfaces have smooth tangent/curvature." in a plugin.
-
very cool plugin... thanx . i had some problem whit the BEZ plugin ... ( a message showing it doesn't uploaded )
-
all it does for me is generate random cars. is that what its supposed to do? Nice plugin although it takes a bit out of using your imagination
-
@rayochoa said:
all it does for me is generate random cars. is that what its supposed to do? Nice plugin although it takes a bit out of using your imagination
Thanks Ochoa. I'll say this is an alpha prototype and yes, that's all it does for now. From my opinion, Sketchup is not only a efficient tool to convey ideas MANUALLY, but also a promising way to create things using artificial intelligence, e.g. let SketchUp gradually learn what kind of cars people are looking for and generate them automatically, or build a house that has enough light in it but doesn't cost too much on the windows. What do you think?
-
Well if you look at it like that i guess your right but if you look at my cars (well the recent ones anyway) I make them with mostly only one tool: the line tool and if you use it right it will get you some pretty good results. Oh and when i was using it sometimes it woulsd generate a car with the rear panel stretched out like an airplane so yeah.
-
@rayochoa said:
Well if you look at it like that i guess your right but if you look at my cars (well the recent ones anyway) I make them with mostly only one tool: the line tool and if you use it right it will get you some pretty good results. Oh and when i was using it sometimes it woulsd generate a car with the rear panel stretched out like an airplane so yeah.
I checked some on the warehouse. Pretty awesome! But I cannot imagine building surfaces with line tool...how long does that take? I recommend Alias/Catia if you really enjoy building concept vehicles by hand. The current SketchUp will not bring you to the next level.
I noticed that bug...and I hope you enjoy it along with all other bugs.
Advertisement