[Plugin] Honeycomber
91 posts
• Page 1 of 4 • 1, 2, 3, 4
[Plugin] Honeycomber###
Copyright 2012 - 2017 TIG (c) Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted, provided something the above copyright notice appear in all copies. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ### TIG-Honeycomber.rb ### Makes a new Extension which loads TIG-Honeycomber/TIG-Honeycomber.rb ### Requires the subfolder 'TIG-Honeycomber' to be in the same folder as this .rb file, with its contents, which are used to create the main toolset, to make perforations, add the toolbar etc. ### Perforates a selected 'solid' group/instance in various ways. It is for >= v8-Pro users only. It perforates a selected 'solid' group/instance in various ways. Useful when working with solid 3d objects that are to be 3d-printed. Removing unneeded internal volumes will reduce the amount of material used and lower the cost. The strength can be maintained by leaving some internal structure in place to support the outer 'shell'. You may also want to perforate objects for special effects, like a honeycomb or mesh, or a pierced bowl etc... The minimum allowed dimensions match those used by most 3d-printers. ### Usage: Preselect one Solid Group or Component-Instance. Ruby Console: TIG::Honeycomber.new() Tool Menu: TIG::Honeycomber View Toolbar: TIG::Honeycomber If the selection is unsuitable or a non-solid there are error messages. Otherwise a Dialog asks for the: "Structure:" This determines the 'structure' of the perforations. "Comb" = A set of 'honeycomb'-like cells extending throughout the height of the object, constrained by the chosen 'Type' and other settings... "Foam" = A matrix of 'bubbles' in 3d, extending throughout the object, spaced evenly, constrained by the chosen 'Type' and other settings... ####### "Sides" 3 = Equilateral Triangular Prism 4 = Square Cube - initial default 6 = Hexagonal Prism Note that other shapes like Pentagons [5] will not tessellate at all, and so they are not included as options. "Size X" "Size Y" "Size Z" These are the overall sizes of the perforating form in 3d [X, Y and Z]; in current units; they initially defaults to 1"/25mm; the minimums are 0.025"/1mm [to suit the miminums for most 3d-printers], adjust to suit. Normally you will want the values to be the same. When Sides=3 = the width [x] of the triangle's enclosing bounds in plan, the depth [y] of the triangle's enclosing bounds in plan, which is the entered value*sqrt(3) to account for the triangular honeycomb having 'staggered' cells. the height [z] of the hexagon's enclosing bounds. When Sides=4 = the x/y/z sides of the rectangle/square in 3d. When Sides=6 = the width [x] of the hexagon's enclosing bounds in plan, the depth [y] of the hexagon's enclosing bounds in plan, which is the entered value*sqrt(3) to account for the honeycombs having 'staggered' cells. the height [z] of the hexagon's enclosing bounds. "Wall X" "Wall Y" "Wall Z" These are the thicknesses of the 'solid' walls between the perforations. They cannot be less than 0.005"/0.5mm [to suit the miminums for most 3d-printers] - initial default is 0.025"/1mm. Normally you will want the values to be the same. If the 'Sides' = 3 the Y value applies to walls aligned with X axis and the X value applies to all other non=X-axis angled walls. If the 'Sides' = 6 the X value applies to walls aligned with Y axis and the Y value applies to all other non=Y-axis vertical walls. "Shell" 0 [the initial default '0' gives NO SHELL] = Perforated across the whole object, includes partial 'scoops' out over the object's surfaces. Making a 'perforator' which is greater than the object's X or Y or Z bounds in that axis will 'Punch' any surfaces intersected in that axis, but it may leave a partial 'shell' or 'scoops' on other axes. With 3 or 6 'Sides' the 'bubbles' are more likely to result in 'scoops' because they have a staggered offset in their rows. OR >= 0.005"/0.5mm [sizes smaller than this [but NOT 0] will default to this minimum value - set to suit the miminums for most 3d-printers] = Perforated across the object, BUT leaving a full 'Shell' in 3d around it: so there are no 'scoops' on the original object's surfaces. Making the perforating 'bubble' dimensions bigger than the object's X or Y or Z bounds for just one or two dimensions will make elongated perforated forms where the 'bubbles' leave internal beams/struts or plates/walls within the Shell. Using a Shell thickness that is greater than half the object's bounds will result in no Shell being made, and perhaps result in errors. The Shell should be formed reproducing 'holes' in the original form. Tiny chamfered edges etc in the original form that would produce a twisted shell-form with reversed faces etc are trapped in the Shell's formation. For simple cubic forms the Shell's thickness will be as you have specified. However, because of the limitations in making complex planar offset geometry internally, with convoluted forms the Shell's thickness can be considerably less than the specified thickness - but if so, you can always 'undo' and rerun the tool with a greater thickness, that approximates to your requirements. If you set the Shell > 0, with 'XYZ Sizes' ALL larger than the object's overall size, then the result will be made into a simple hollowed 'Shell'' ########### NOTES/TIPS: Xray mode is automatically activated when the tool runs. View in Xray mode or cut a Section or Back-Faces ON to see any internal perforations of 'shell' structure... 'Cubic' perforations can be sized in any axis; however, all other [3 or 6 sided] perforations are made oriented in the Z/blue axis. The perforations' matrix is centered on the object's bounding-box. The setting-out point for 3 sides is the notional point where six triangles meet; with other numbers of sides it's the center of the perforator shape. The perforations are arranged orthogonally to the object's bounding-box, If angled arrangements are desired then rotate the object around the Z/blue axis before using the tool. The tool Scales the object up by x100, processes it and scales back down afterwards to avoid 'small facets' issues that could lead to non-solidity. With some objects certain permutations of dimensions etc can result in failures to intersect parts of the form and produce a 'non-solid' result. If so you are told in an error dialog. The entire operation is aborted. Using slightly different values will usually give a satisfactory result. To make a 'latticework' of beams and posts in the 3 axes punch 4-sised forms bigger than each axis, repeated three times. Note that you should make the hole size say 1mm smaller and the wall size 1mm bigger for the Z punching because intersecting forms makings a 3d-cross will often fail to work satisfactorily. Please use sensible dimensions for the perforations - thousands of very small holes in a very large object will take a looooooong time to process. Be patient: a lot of perforations take a lot of time to intersect... Save the SKP before using the tool in case there's a rare Bugsplat! ### Donations: By PayPal.com to info @ revitrev.org ### Version: 1.0 20120330 First issue. 1.1 20120411 Undo glitch fixed. 1.2 20120411 3-sided option added. 1.3 20120415 Speed improve by ~4x; minor glitches fixed. 2.0 20170514 Updated for newer versions... ### Plese always use the latest RBZ available from the PluginStore TIG
Re: [Plugin] Honeycomber v1.0 20120330oh.. I can see uses.. but.. can you make it Quad the Ngons between cells as an option? I can really use this, but I'd have to fill those edges in for export...
Re: [Plugin] Honeycomber v1.0 20120330I think this plugin is the ultimate answer to my question in this topic, so I am especially grateful!
![]()
Re: [Plugin] Honeycomber v1.0 20120330You sparked the very idea ![]() TIG
Re: [Plugin] Honeycomber v1.0 20120330Cool for the beekeepers!
![]()
Re: [Plugin] Honeycomber v1.0 20120330After installation, can not find the location of the plug-in, the menu does not show
I come from China, is to learn
Re: [Plugin] Honeycomber v1.0 20120330It's an Extension...
You must activate it [once] from the Window > Preferences dialog. Once activated it has a toolbar activated from View > ToolBars. Its menu item is then also found under the 'Tools' menu. ![]() TIG
Re: [Plugin] Honeycomber v1.0 20120330
View --- the window did not I come from China, is to learn
Re: [Plugin] Honeycomber v1.0 20120330
Thank you, tig, you can ![]() I come from China, is to learn
Re: [Plugin] Honeycomber v1.0 20120330Your translator is too cryptic! the Sketchup menu Window > Preferences dialog... is there an item for TIG::Honeycomber?, if so 'tick' it... If not then check that you have these... TIG-Honeycomber_loader.rb file in the Plugins folder, and a subfolder named TIG-Honeycomber in the Plugins folder, containing the main file TIG-Honeycomber.rb and several 'fret' .SKP and .PNG files, which are needed to make the tool work... ![]() TIG
Re: [Plugin] Honeycomber v1.0 20120330Thank you, TIG, the problem has been solved, thanks again
I come from China, is to learn
Re: [Plugin] Honeycomber v1.0 20120330
TIG: I tried your plugin loaded exactly as described above (Mac OSX SU 8) but it would not load properly. It 'partially' loads by placing both TIG-Honeycomber_loader.rb and TIG-Honeycomber.rb outisde of the TIG-Honeycomber subfolder ... however the toolbar shows no icon. When activated, I get a pop-up window with this message: "TIG::Honeycomber: SKP missing from folder 'TIG-Honeycomber'! Exiting..." Dragging the four (4) .skp files and the two (2) .png files outside of the TIG-Honeycomber subfolder, allows the tool to load properly. However once activated, the tool does not seem to work properly. Re: [Plugin] Honeycomber v1.0 20120330SUFractal
You have totally mis-installed the tool. ![]() If you upZIP and move the files exactly as explained in the usage notes [keeping files in their subfolder] OR even better use the new RBZ automatic installer [or Thomthom's even easier SimpleInstaller that's based on it] then it should work faultlessly. Remove all of the files and the subfolder you've currently messed up /TIG-Honeycomber TIG-Honeycomber_loader.rb TIG-Honeycomber.rb fret_4b.skp fret_4r.skp fret_6b.skp fret_6r.skp fret-16.png fret-24.png Now reinstall the toolset properly, as the download page clearly instructs... You MUST end up with ONE .rb file in the Plugins folder, named TIG-Honeycomber_loader.rb and a subfolder inside the Plugins folder, named /TIG-Honeycomber which contains ALL of the other files - TIG-Honeycomber.rb fret_4b.skp fret_4r.skp fret_6b.skp fret_6r.skp fret-16.png fret-24.png The 'loader' makes the Extension which in turn refers to the main .rb file inside the subfolder. When the tool's Extension is activated from Preferences it loads and makes the 'Tools' menu item for that tool, and a 'Toolbar' for it that will probably also needs activating... Please make sure you install any set of scripts carefully, completely as instructed... Ignoring the advice is a sure fired way to break Sketchup. If you do mess up you must always remove the files from the wrong places as they will continue to do weird things too... The new Preferences > Extensions 'installer' button for v8M2 automatically extracts files from the .RBZ archive and puts them into the right places inside the Plugins folder, keeping subfolders intact etc... It was specifically designed to avoid these basic errors some users, such as yourself, seem to be able to conjure up... Because it's a v8pro only tool and v8M2 is a improvement I can't see why you aren't using it already - although looking at the download numbers many are still opting for the olde ZIP archive and manual install... TIG
Re: [Plugin] Honeycomber v1.0 20120330Hi TIG,
I'm testing the plugin on Mac OSX 10.6.8 & SU 8 and the plugin doesn't work, it appears this error in Ruby Console window Re: [Plugin] Honeycomber v1.0 20120330Hello TIG
Thanks again for another amazing plugin. Seems I haven't been able to get this one working. I followed the install instructions. Activated the extension. I can see "TIG::Honeycomber" on the tools menu, but can't see nothing on the toolbar. Issues: When I run the tool, (select a group or component) it just prompts the main parameters dialog. It does not prompt what you say on the tool description (structure, foam, comb menus). I kinda runs (turns to xray mode and the shell parameter does works) but it doesn't do anything else... no geometry population, nothing. also i noticed that i don't have any file called "honeyFOAMER" as you describe... all the files in the installer folder refer to "honeyCOMBER" not FOAMER (i am using skp8 on bootcamp but i've never had any trouble with your plugins before) i'd really appreciate your help because i'd rally like to play with this jewell and THANKS AGAIN for such great work best regards Re: [Plugin] Honeycomber v1.0 20120330Oxer ! The correct path for MAC Plugins is in the Root Library tree, NOT the User one... ![]() Something is seriously adrift here. Line #599 reads rayt=@model.raytest([zcent, Z_AXIS], true) where zcent is a point3d Z_AXIS is a vector true says to ignore hidden objects. Where's the 'float' issue arising... Try reinstalling it properly. Do not edit it etc before installing in case it's been corrupted in some way... I suspect that something is up with your SUp installation otherwise. TIG
Re: [Plugin] Honeycomber v1.0 20120330Sorry about my typo - of course I meant "Honeycomber" [I've corrected the original post!] - during development this tool has been called 'Fret', 'Honeyfoamer' and eventually 'Honeycomber' - so I'm easily confused... the 'fret' name remains for the subfolder's skp/png files... The TIG::Honeycomber toolbar is in the View > Toolbars menu... Make sure you only have the 'loader' file in Plugins and everything else inside the subfolder... Do you have a TIG-Honeycomber folder in the Plugins folder containing two png files - these are needed for the toolbar creation, and the four skp files loaded as objects to be subtracted from the selected thing... IF you make the size of the 'perforators' bigger than the original object then, as explained in the notes, the object is NOT honeycombed as there is nothing to 'boolean', if you included a 'shell' dimension then that is done [provided that is not dimensioned so large that nothing can be 'booleaned' either]. How large is the xyz of the object to be honeycombed? What are the xyz sizes/walls specified? To test it, make a 4" cube, with a thin shell, and 1" perforator cubes [with thin walls in xyz]... You should get this Do you get any messages in the Ruby Console etc... ? TIG
Re: [Plugin] Honeycomber v1.0 20120330Hi again,
I have downloaded the plugin again and i reinstalled it in the Root Library, the same ruby console error. I probed to uninstall the rest of the plugins, perhaps it had some conflict and the same error. Re: [Plugin] Honeycomber v1.0 20120330Oxer
There's a list of files in a post a few back, remove all and ensure you only have the required ones in the correct folder/subfolder... TIG
Re: [Plugin] Honeycomber v1.0 20120330Yes, i have all files and folder in his correct situation.
Perhaps another Mac user can tell us if the plugin works. Re: [Plugin] Honeycomber v1.0 20120330There's nothing that I can think of that's PC specific... so it should work fine on MACs too...
Any MAC users want to chip in... ![]() TIG
Re: [Plugin] Honeycomber v1.0 20120330
TIG: I have it installed exactly as you described (see attachment). I had it installed that way before several times, but the plugin wasn't loading the either. The only way to have anything close to operational was the clumsy way I did try (which I realize isn't the way it is intended)... but it crashed SU every time. Thanks. Re: [Plugin] Honeycomber v1.0 20120330SUFractal
I can't tell from your screenshot if the Plugins folder is in the the 'root' [Macintosh HD] library path, where it should be; or say an incorrect User path... Assuming it's in the right place... can you be more specific about about what's 'crashing' and how this manifests itself... Does Sketchup star without errors? Does the Extension appear in the Preferences dialog? If you deactivate it and restart does the Tools menu item vanish, and does the toolbar vanish? If you activate it do you get a Tools menu item and a toolbar? If you activate the toolbar does it appear as expected? Open the Ruby Console. If you make a simple 4" cube [e.g. make a square and PushPull it up 4"] and make it into a group [Entity Info will show it as 'solid' when it's selected] and run the tool from the toolbar what happens? Does a dialog appear? If you accept the default values and press OK, what happens? Are there any error messages? [either in the Console or in a message-box] If errors what do they say - exactly - ? What happens to the cube-group? etc... With a little more logic applied to the testing/reporting we can track the issue and fix it... [Oxer - are you listening too?] PS: On a completely separate side note... I see you have 'toggleWindows.rb' installed in your Plugins folder - that's a PC only script; since MACs don't have Outliner crash issues, and that script uses .so files incompatible with a MAC anyway ? TIG
Re: [Plugin] Honeycomber v1.0 20120330
TIG: I have the plugin installed in the correct location ... as I have all of my countless other plugins. I am in full understanding of where plugins are req'd to be located on Macs. I've gotten rid of the 'toggleWindows.rb' script (didn't realize that was PC only at the time I suppose). When I attempt to operate the plugin with even a simple cube: A dialogue box appears asking for parameters. The cube switches to X-ray mode immediately. Using the default settings, the console window says" TIG::Honeycomber: Perforating. After waiting as long as 15 minutes, nothing "happens" to the simple cube. If at any time during the console message (or even after 15 minutes) I even slightly move the mouse/cursor, the message in the status window disappears. The 'symptoms' I am describing sound very similar to juanjo's. Re: [Plugin] Honeycomber v1.0 20120330SUFractal
You'd only need to wait 15 minutes if doing an incredibly complex object with thousands of perforations... So, it seems that it runs, but produces no result? Does it 'crash' ? Does it 'hang' ? What 'Console message[s]' ? There should be none, only Status-bar messages saying what's being done and some incrementing '...' or ',,,' etc. You should actually see the perforators being added, then subtracted in turn as the view refreshes as it goes... Can you post your cube size, and a screenshot of the dialog settings you used... It it completes with no changes, then it suggests that the perforations were bigger than the object so it remains unchanged. If you use 'Shell' > 0 [at a fraction of the cube's dims] do you at least get a simple shell added ? This is a mystery ![]() TIG
Re: [Plugin] Honeycomber v1.0 20120330
I meant status window, not console, sorry. Using a 12' x 12' x 12' cube and the default parameters (see screenshot), I click 'OK', the status window changes to "Tig::Honeycomber:Perforating", and then it "hangs/doesn't do anything else/whatever" ... nothing 'happens' to the cube. I then tried a shell setting in the Parameters window of 12" (and all other settings at 12") and it generated a shell and 'cube within a cube'. I get no prompts for structure, comb, or foam (or anything) beyond that. Re: [Plugin] Honeycomber v1.0 20120330Hi again, again... TIG
![]() See images below 1. I select the Cubo (Solid Group) push the plugin icon and it appears the Setting Window. 2. I press Aceptar (OK) and nothing happens, see the Error Ruby Console. Re: [Plugin] Honeycomber v1.0 20120330Oxer [and probably SUFractal in the absence of a Console error report from him...]
The reason the 'Shell' part works is that the basic shell is added before any raytesting starts [it still fails BUT then the shell is there], but with no shell specified the raytesting starts early-on - before any new geometry is added at all. From the error messages I can see the error is that your setup seems to think that the model.raytest is expecting a Float [number] not a Point3d as it is getting. In fact it has to be that model.raytest([point, vector], true) which is of course exactly what the code in line #599 does. rayt=@model.raytest([zcent, Z_AXIS], true) where 'zcent' is clearly defined as a point [as it ought to be], the Z_AXIS is clearly a vector, and 'true' is simply saying 'ignore hidden objects'. So... I can but deduce that another third-party script is ill-advisedly redefining the model.raytest() method ![]() Though God knows why... To see if the error occurs outside of my tool's code, please do the following and report back... Use an empty SKP. Switch Axes 'on'. Make ~1m radius circle, based flat on the ground [Z/Blue=0], centered on the origin [crossing of XYZ/RGB axes]. Now open the Ruby Console. Then copy/paste +<enter> this line of code
[Point3d(0, 0, 0), [#<Sketchup::Face:0x11aba8e0>]] If it succeeds then I can't immediately see why it'd work in the Ruby Console and not my code... ![]() If you get an error similar to the one you've posted we know the built-in model.raytest() method has been broken. If there is an error could you try to 'grep' [i.e. 'search' through files for certain text inside them] through the files in the 'Plugins' folder, and its subfolders [and also in the 'Tools' folder], for the text 'def raytest'. If you find a file please report back. If you disable that file does the model.raytest() 'test' work now ??? ![]() TIG
91 posts
• Page 1 of 4 • 1, 2, 3, 4
|