Dave,
I really appreciate it. I am so looking forward to your critic!
Garry
Dave,
I really appreciate it. I am so looking forward to your critic!
Garry
Dave,
I hate to be a pest - but it has been another week. The good news is that I've been working on a cutting list panel optimizer - which is almost ready.
Garry
Dave,
Have you had a chance to look at the door maker?
Garry
This tool is now available.
There is a zip file called DoorMaker.zip on the download page of my website http://www.CabMaker32.com
There is one file that goes into the plugins folder - GKWare_CabMaker_Ext.rb
There needs to be folders starting with GKWare under plugins.
There is a pdf file in the GKWare\CabMaker folder called DoorMaker.Pdf - it has a few pages and a number of screen shots.
You can turn on or off the tool from within preferences\extensions
There is a button - View\ToolBars\GKWare\Door Maker Toolbar
You can add / modify defaults and or textures.
Thanks Jolran - This should help.
For now - I have a plugin ready. There is a zip file called DoorMaker.zip on the download page of my website http://www.CabMaker32.com
There is one file that goes into the plugins folder - GKWare_CabMaker_Ext.rb
There needs to be folders starting with GKWare under plugins.
There is a pdf file in the GKWare\CabMaker folder called DoorMaker.Pdf - it has a few pages and a number of screen shots.
Give it a try.
Dan,
I have read most everything that I can and am following the "best practices" that you are promoting.
There is a folder in plugins called GKWare and one in GKWare called CabMaker
The file that is in the plugins folder is called GKWare_CabMaker_Ext.rb
The files in GKWare/CabMaker are
CabMaker_Loader.rb
CabMaker.rbs
CabMakerLibs.rbs
door_cursor.png
DoorMaker_SM.png
DoorMaker_LG.png
TextureLocation.txt
Textures.txt
Defaults.txt
GKWare Door Maker shows up in Extensions
The Textures.txt file contains a list used by Door Maker inputbox
The list is here so that users can overide the list and modify the drop down list
I have provided a textures folder that is in public documents area. The reason is that the wood grain jpg files are quite large and can be shared between versions of SU.
The TextureLocation.txt file points to the folder - so a user can put the folder where ever they want.
The main module is called GKWare
Everything that I have read suggests that I will have problems scaling the arc geometry of the cathedral style doors as the curvature of the doors change as they get narrower.
I'm not sure that I can get around this. Is it possible for a dynamic component to rebuild itself as opposed to simple stretching?
@dan rathbun said:
@dan rathbun said:
Does your software run in it's OWN process, or as a Ruby extension, under SketchUp's Ruby process ??
IF it runs in it's own process ... (since it's already C++,) ... you can use the SketchUp C++ SDK to directly write out SKP format files (which can be inserted as a complete kitchen component into SketchUp.)
I've coded it in C++Builder 6 and have been thinking of porting my code over to XE3 which is the most current version of C++Builder. I am licenced for all the versions including their HTML 5 builder.
Unfortunately I have experienced issues trying to get the C++ SDK to work. It appears that they supported visual studio but not Borland.
With XE3 and firemonkey and one code base I can compile for Mac OS X, Windows 7, Windows 8.
So I did want to create a plugin wrapper to leverage the existing ruby code as a standalone. This would not require my CabMaker32 C++ program.
I will look at the dynamic components and see if I can build a simple one with Sketchup 7 free. I was hoping to create additional interest for CabMaker32 - and allow small startup cabinet shops and hobbyists to get into CabMaker32 for very few dollars (with limitations).
If this actually sells and turns into a real business then I would definately support SU Pro.
The c++ program is run externally. What I have done is create a csv file in c++.
Then I call sketchup and run a one line ruby script which waits long enough for the plugin to load and then calls the plugin.
UI.start_timer(0.5, false) { run_cabmaker_GK( 'C:\Users\Public\Documents\CabMaker32\jobs\SuCabinets.txt' ) }
The csv file contains all the information required to draw all the cabinets.
For example this cabinet is built with the following file.
1,2,3,0,2-Left,0,0,-600,16,768,600,8,12,0,0,-600,0,0,1,1
1,2,3,1,2-Right,784,0,-600,16,768,600,8,12,0,784,-600,0,0,1,1
1,2,3,3,2-Bottom,16,0,-600,768,16,600,8,12,0,0,0,0,0,1,1
1,2,3,2,2-Top,16,752,-600,768,16,600,8,12,0,0,0,0,0,1,1
1,2,3,4,2-Shelf-1,17,334.5,-590,766,16,582,0,0,0,0,0,0,0,1,1
10,2,3,0,2-Case
1,2,4,12,2-Back,4,4,-8,792,760,3,0,0,0,0,0,0,0,0,0
1,2,5,8,2-Hanger Top,16,688,-20,768,64,12,0,0,0,0,0,0,0,0,0
1,2,5,11,2-Stretcher-1,16,600,-600,768,16,64,0,0,0,0,0,0,0,0,0
4,2,6,15,2-Dr Box Left-1,28.7,631.5,-602,16,96,572,12,6,10
4,2,6,16,2-Dr Box Right-1,755.3,631.5,-602,16,96,572,12,6,10
4,2,6,17,2-Dr Box Front-1,44.7,631.5,-602,710.6,96,16,12,6,10
4,2,6,18,2-Dr Box Back-1,44.7,631.5,-46,710.6,96,16,12,6,10
1,2,6,19,2-Dr Box Bottom-1,38.7,641.5,-592,722.6,12,552,0,0,0,0,0,0,0,1,1
10,2,6,0,2-Dr Box-1
6,2,7,41, ,1.5,-621,609.5,797,19,157,0,0,0,1,0,50,15,0
6,2,7,27, ,1.5,-621,1.5,397,19,605,0,0,0,1,0,50,15,0
6,2,7,27, ,401.5,-621,1.5,397,19,605,0,0,0,2,0,50,15,0
1,2,2,33,2-Kick-1,0,-128,-531,19,128,512,0,0,0,0,0,0,0,1,1
1,2,2,33,2-Kick-2,781,-128,-531,19,128,512,0,0,0,0,0,0,0,1,1
1,2,2,33,2-Kick-3,0,-128,-550,800,128,19,0,0,0,0,0,0,0,1,1
1,2,2,33,2-Kick-4,0,-128,-19,800,128,19,0,0,0,0,0,0,0,1,1
10,2,2,0,2-Full Kick
11,2,1,0,Move,0,0,0,1400,0,128,0,0,0,0,0
I understand you need SU pro 7 or higher to build dynamic components - but you can load and use dynamic components in SU free 8 and maybe 7 if the component was built with 7.
So far I have not committed to pro.
My cabinet software is written in C++. Currently it allows the user to make rapid wholesale changes to the entire kitchen such as materials, thicknesses, edge treatments etc. and then render the entire kitchen in SU free 7 or 8 in seconds with a single button click.
The c++ software integrates with cutlist plus and produces cutting diagrams for every piece.
Data is stored to an accuracy of 1 thousands mm and is getting ready to produce CNC G code.
I was hoping that I could use the free version to create plugins that create the same doors, trim etc. that would allow the user to add to the kitchen etc.
I have been building a tool for creating cabinet doors and would like some feedback as to user interface.
Perhaps I've been posting in the wrong area. I have 5 posts that start here.
Subject: Trouble modeling a cabinet door
I have built an input box that contains width and height. Is it better to do this an just click somewhere and the door appears or is it better to use a rubber band drag approach?
If I were to use the drag method then I could see working with the VCB so that a user can type in width, or perhaps width and height.
Would it be beneficial to have an offset value along with inferencing. This would make it easy for a second door to inference to the right edge of the first door but draw itself with a bit of space ( offset ) value between the 2 doors.
Does anyone see any value in this cabinet door tool?
I have finished the tool interface for the cabinet door maker. It honors the model units.
Once the user clicks OK - the cursor changes to this
As the user moves the cursor the x,y and z measurements are shown ( from origin )
The user can add as many doors as they want - or choose the tool again to change sizes etc.
I set up a hot key - 'D' wasn't being used so I figured it works for me for 'D'oor
The forms have default values assigned at startup - but remembers the users settings between form changes.
Is anyone interested in testing this tool out?
@dave r said:
That looks pretty cool for the kitchen cabinet guys. Will it work with user selected units in SketchUp?
Dave, I am working on a inputbox for the door generator. You say user selected units. Is there a way to determine what they are?
Another option I thought of is putting in 2 menu items
Cabinet Door - Metric
Cabinet Door - Imperial
The one ruby script for the door menu is a simple .rb file. The other file is .rbs
Do you know of anyone being able to lock down a licence for plugins or is selling them hit and miss based solely on the honor system?
After re reading - I don't believe that I have been clear enough.
In the Sketchup program you can select a path - in this case a line and then use followme tool.
This is the code that works ( but only if a face ). I've tried to create just a path but the followme looks like it only works with a face.
face = grp.entities().add_face( p )
face.reverse!() if( face.normal.dot( Y_AXIS ) < 0 )
fc = []
fc << [ 0, 2.35, y ]
fc << [ 1.962258, 2.660791, 40 ]
fc << [ 3.732436, 3.562742, 40 ]
fc << [ 5.137258, 4.967564, 40 ]
fc << [ 6.039209, 6.737742, 40 ]
fc << [ 6.35, 8.7, 40 ]
fc << [ 0, 8.7, 40 ]
cutter = grp.entities().add_face( fc )
cutter.followme( face.edges )
So far just mm - but that isn't hard to modify.
The calling function is this:
do_make_door( cab, lyr, pnl, pt_1, pt_2, pivot, number, arch, stile, pth, rotate )
Args:
You need to experiment a bit with very narrow doors. Of course a plain panel can be virtualy any size. A Square shaker with 50 mm stiles could be as narrow as 100 mm - but why would you do that. I can work with cathedrals as narrow as 225.
So any size that you need.
I've been working on a simple cabinet making software for european cabinets CabMaker32.
It is an external C++ program that allows the user to store cabinets, material types and rules. You can then call sketchup, design cad, cutlist plus or pattern systems.
With sketchup a complete set of kitchen cabinets renders via ruby code.
This is suppose to work with free version of sketchup
I am now working on more door styles. I have everything working except the mirror, glass.
Where I am stuck is with the followme ruby code. It works great when I have a panel (face), but I'm not sure what to do when I just have a path ( no face ). What I am trying to do is essentially create a frame that represents the bead with a line path.
The 2 doors that show glass and mirror are partially done in code and then hand tweaked.
All the other doors are done in ruby code. Cathedral doors can be 250 mm and wider (with 50 mm stiles)
How can I use followme in code with the panel shape but end up without the original face.