Looking ahead to SU 8.
-
you know, what would be really helpful? if SketchUp supported import of dwg/dxf drawings with lineweights and colours, faces and text.
I fight with understanding an imported drawing almost every day. because every dotted line, no matter whether very thin and in a light gray or thick and red... everything is reduced to a black mess of lines.
I always have to print out the drawing in order to understand what I see in SketchUp. so even from an environmental point of view it would be a good ideaI know this is asking for a lot, because linewheigt isn't supported in SU yet and different text sizes, and styles aren't a strengh of it either.
but it would make architects life so much easier... -
Turn on Colour by layer and Edge colours.
-
Sometimes the solution is so simple
-
thats true. still doesn't solve the line weight problem though. and dotted lines don't work either. and import of fillings would be nice as well (you know, a face with a standart hatch texture instead of importing hundrets and hundrets of hatch-lines... stuff like that.
basically, I want to be able to look at an imported drawing, as if I were looking on it in the CAD application itself...
(and of course thats more a dread than a request. for the changes to SketchUp, however useful they might be, are quite large)
-
two really useful things (I will write them again, even though I think both were mentioned before - but they would be so easy to implement and so useful):
the ability to change axes for groups as well. at the moment you can define component axes. that affects the bounding box as well.
for rectangular object even an option such as 'align axes to geometry' could be useful.the second thing is an option to switch between 'world axes' and 'object axes' orientation.
imagine you draw a group or component, then rotate it at an odd angle. if you now enter this group and start drawing, and want to stay at a right angle to the geometry, you have to refer to inferencing, because the red/green/blue axes point another way. if you now switched to 'object based' axes orientation, it would be a lot easier to draw in this particular context. and creating groups/components would result in their bounding boxes being aligned to the actual geometry (as opposed to today, where they are aligned to the world axes...)what do you think?
oh, and another thing just popped into my mind:
introduce the option to right click buttons to define specific tool parameters. that keeps the UI simple whilst giving us a whole new world of options.
in addition to that holding down your left mouse on a button could expand a 'sub-button-bar'. that would be very useful for a lot of rubies (half my toolbars are fredo's at the moment. imagine you could collapes all tools on surface to one button...) -
@plot-paris said:
the ability to change axes for groups as well. at the moment you can define component axes. that affects the bounding box as well.
for rectangular object even an option such as 'align axes to geometry' could be useful.the second thing is an option to switch between 'world axes' and 'object axes' orientation.
imagine you draw a group or component, then rotate it at an odd angle. if you now enter this group and start drawing, and want to stay at a right angle to the geometry, you have to refer to inferencing, because the red/green/blue axes point another way. if you now switched to 'object based' axes orientation, it would be a lot easier to draw in this particular context. and creating groups/components would result in their bounding boxes being aligned to the actual geometry (as opposed to today, where they are aligned to the world axes...)what do you think?
-
Yes, this axis thing is definitely a good one. Particularly that components (at least) work perfectly as embedded mini models and when you save them as..., youi can work on them in a separate file and the axis system of that file respects the original component axes.
So why not be able to do it "In model" as well?
(Although this should be something like "hide rest of model" and "hide similar" - i.e. toggle-able as sometimes you may need to work in other ways)
-
@gaieus said:
(Although this should be something like "hide rest of model" and "hide similar" - i.e. toggle-able as sometimes you may need to work in other ways)
I've already got my keyboard shortcut reserved for that
(F2 = show/hide hidden geometry
F3 = perspective/parallel projection
F4 = show/hide rest of model
F5 = world axes/component axes ) -
I use Ctrl+H to hide rest of model and Shift+Ctrl+H to hide similar components. Sgift+H could be the one to switch between axes.
-
damn, my hand is to small for Ctrl + Shift + H
-
a powerfullllllll camera match
-
Maybe someone else has mentioned this, but how about being able to keep the View/Toolbars drop-down open to allow multiple checking/un-checking toolbar choices at the same time?
-
I've not read it yet, but I agree. Very reasonable idea!!!
-
@bob james said:
Maybe someone else has mentioned this, but how about being able to keep the View/Toolbars drop-down open to allow multiple checking/un-checking toolbar choices at the same time?
Might be possible to do this by ruby... might
-
About multicore support
I don't exactly see how support of multiple CPU cores would enhance SketchUp's speed.Admittedly, I haven't been working with huge models yet, but nevertheless I only noticed two cases in which CPU power matters: loading/saving* and using Ruby scripts. And exactly here lies the problem: Ruby itself, especially the very old version (1.8.0) that is being used in SketchUp, does not support native threads, but only green threads (and those won't even work properly in an integrated environment like SketchUp).
Now it is not an easy task to just add support for native threads to Ruby, and it won't be of any use if the scripts don't make use of threads themselves (and none of them does as of now, because they don't work, as I stated earlier**).
As a result of this, SketchUp could at most really make use of two cores, using one for the UI and one for processing/ruby scripts (and as I've understood, Google is indeed working on that and made underlying preparations already with the release of 7.1)
*: with the current file size of bigger models, an unlimited amount of CPUs/cores won't be indefinitely increasing speed anyway, because the underlying filesystem and even more underlying performance of HDDs is the real bottleneck.
**: an integrated Ruby interpreter will only be able to execute commands if the main application, SketchUp in this case, calls out to it. This also means that Ruby threads (not to be confused with native threads) will pause until SketchUp calls the interpreter. This is done for events like moving the mouse and of course other UI interactions (and that monitoring stuff, forgot its name right now), but only for those. As long as the user isn't interacting with the applications, threads will pause (and thus would intensive calculations).
A way to demonstrate this is to execute the following code in the Ruby console:
Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } }
This, if it worked, showed "iteration 0" to 4 within 0.5 seconds. However, it won't print anything until you move your mouse in the model.
An updated version of Ruby
I would really appreciate if the used Ruby would be updated to one of the two recent versions, 1.8.7 or 1.9.1 -- I do favour 1.8.7 though, because 1.9.1 breaks compatibility in some regards (I do, however, not know if 1.8.7 is fully compatible to 1.8.0 :/)Also, there should be no problem in shipping the stdlib with SketchUp, I think.
A plugin manager
Like some of the others in this forum, I would appreciate a well thought-out plugin manager, with per-plugin metadata like author, license, version and dependencies (and legacy support for current plugins, that miss those information for obvious reasons).The plugin manager could also work like APT (a package manager on Linux), with support for so-called repositories, updates and dependency resolving, thus providing a one-click interface for installing and updating plugins.
-
Agree - the UI should be separated from the processing. So many plugins that would benefit from that.
This week I came across some API for Windows7 which I#m wondering might be workable. http://forums.sketchucation.com/viewtopic.php?f=180&t=25790 But I#m not sure how to translate that into Ruby.@dominikh said:
A way to demonstrate this is to execute the following code in the Ruby console:
Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } }I'm not seeing what you are seeing. I see it printing "iteration 0" the first time I run it. Then when I run it the second time I get two lines, then three etc...
Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 #<Thread;0xf953ad8 sleep> Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 iteration 1 #<Thread;0xf94f920 sleep> Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 iteration 1 iteration 2 #<Thread;0xf94dd90 sleep> Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 iteration 1 iteration 2 iteration 3 #<Thread;0xf94be70 sleep> Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 iteration 1 iteration 2 iteration 3 iteration 4 #<Thread;0xf94aeb0 sleep> Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 iteration 1 iteration 2 iteration 3 iteration 4 #<Thread;0xf94a2c8 sleep> Thread.new { 5.times {|i| puts "iteration #{i}"; sleep 0.1 } } iteration 0 iteration 1 iteration 2 iteration 3 iteration 4 #<Thread;0xf9491b8 sleep>
Many people have tried threading - but it appear to be a dead end.
@dominikh said:
An updated version of Ruby
I would really appreciate if the used Ruby would be updated to one of the two recent versions, 1.8.7 or 1.9.1 -- I do favour 1.8.7 though, because 1.9.1 breaks compatibility in some regards (I do, however, not know if 1.8.7 is fully compatible to 1.8.0 :/)I'd prefer 1.9 - due to Unicode support, which is sorely needed. But as you said, compatibility issues. Update to a newer 1.8 branch would be appreciated.
@dominikh said:
A plugin manager
Like some of the others in this forum, I would appreciate a well thought-out plugin manager, with per-plugin metadata like author, license, version and dependencies (and legacy support for current plugins, that miss those information for obvious reasons).The plugin manager could also work like APT (a package manager on Linux), with support for so-called repositories, updates and dependency resolving, thus providing a one-click interface for installing and updating plugins.
I've been thinking of this again lately. Been thinking of presentation a mock-up UI and API for review. First task is a system to let the user organise menus and toolbars. Then a update/install system would be a nice addition.
-
@unknownuser said:
I'm not seeing what you are seeing. I see it printing "iteration 0" the first time I run it. Then when I run it the second time I get two lines, then three etc...
Well, you did, in your own way, prove that threads don't work properly (which is exactly what I wanted to demonstrate).
However, what one was supposed to do, and what one was supposed to see was:
- execute the line of code, once
- don't do anything => it won't display anything, even though it should every 0.1 seconds
- move your mouse in the viewport (where the actual model is displayed) => you will see that now the thread will be executed.
you, kind of, did the same by executing new ruby commands, which also executed the threads you created.
-
@dominikh said:
- move your mouse in the viewport (where the actual model is displayed) => you will see that now the thread will be executed.
Did not see this. Nothing happens when I move the cursor over the viewport. It's why I tried to execute the command again.
-
okay, maybe it's because of one of the plugins I am using. Anyway, the point is that the ruby interpreter is only being run for events, rendering ruby threads useless
-
What SU version and OS you run? (Recommended you add that to your profile.)
Advertisement