cribes a set of machine movements in X, Y and Z (Z being Pen Up and Pen Down) directions. It very closely related to G-code in this way - just slightly more simple than G-code overall.
For tool selection you use the Select Pen - SPx - command, x is the number of the pen you are using. As I'm using a vinyl cutter without a pen/tool changer I just use SP1 in the file header/ini of the cutter.
Without knowing the full spec of your machine it is hard to say for certain BUT all of my experience with CNC machines - of all sizes and spec levels - the actual control files are pretty much the same. Very simple text based HPGL or G-code text files run all motion control - even on things like 7 axis robot arms etc. For plotting I'd expect you'd be able to get a usable HPGL/PLT file without a lot of work - its just a matter of matching the file to what the machine is expecting.
To answer your question about getting the file to the printer its maybe best to explain it this way: there are two parts to this project1/ Create the correctly formatted text/hpgl/plt file ready to send to the printer2/ Send the file to printer
For part 1/ the procedure is:
Select the curves you want to printConvert the curves into a set of pointsFormat these points into HPGL Save this HPGL as a text file
For 2/ we need a way to stream the text file to a printer port
To do this I've used an old dos command line technique that allows allow you to 'copy' a text file to a printer LPT or COM port:
copy /b c:\spool\ini.plt LPT1
Type the above into a DOS command line and it will send a text file called ini.plt to the printer on LPT1 port. As you'll see in my attached code I use os.system calls in my python code to send files when needed.
So your original code was doing some strange things with the conversion from curves to points. Lines/Polylines were OK - with the code just using the line end points. For curves and polycurves the code code was exploding these into segments and then dividing into set of points. However this led to two issues: - curves that started off as closed polycurves would end up being plotted as open curve segments - which is not very good for a cut file and not very smooth for a plot file.- the division of the curves to points was by distance - and if this wasn't an exact division of the length of the curve the end point would not match up with the next line - again not ideal for a cutting file which needs to be a closed curve.
To solve the above I changed to using rs.ConvertCurveToPolyline - with the tolerance set to match the HPGL resolution of 0.025mm - this converts all curves needed to plot to polylines, leaves everything closed and ends points line up perfectly.
I had one other problem with my setup - I ran into a file size/curve number/plotting points upper limit. A small number of curves would cut/plot fine, however at a certain number in one file the print driver would throw an error and the plotter would not even start plotting the file. I could not work out where is the system this limit was being imposed. The current working version of my code is attached - it gets around this file size limit by creating a separate print file for each curve required and sending them to the plotter in sequence. Not as completely tidy as I'd like as it flashes up a cmd window on every loop - but plots/cuts are perfect.
The final 'nice touch' for the project is I've created a custom tool bar button to run the script - all I have to do to cut a file is hit the button on the tool bar, select the curves and hit enter = SO EASY!
I've attached my latest code, a sample HPGL file to plot a rectangle, and a screen shot of setting up the custom toolbar button.
Cheers
DK…
lts.
In the visualization, points is an interesting option. It's a matter of aesthetics I guess, I go with surfaces :) Also what you can try is selecting Filters -> Slice (you can also find it in the icons above the pipeline viewer), in the Slice options below the pipeline press Z normal and on the Z coordinate press some height relevant to the buildings (e.g. 1.75m a typical human scale). That would show you the flow around the buildings on that height. Experiment with selecting other normals and values. Keep playing with the filters there's some cool things in there. Also you can check out the mailing list and extensive paraview documentation.
Concerning the errors I apologize because I just downloaded your case.
It appears that the decomposeParDict is not included in the system folder. I am not sure if this is due to BF not going through the whole workflow yet or an ommission on our side. Please feel free to add it in Github. I will also note it down and pass it to Mostaph to check. In the meantime please find attached a VERY detailed decomposeParDict file. I took the liberty to set it at 4 processors (the numberOfSubDomains value) and also selected (that is uncommented) the scotch decomposition method. It's the easiest method to use since it is automatic and doesn't require any more inputs on how the domain is decomposed on the x,y,z directions (which would require you to change values in the attached file).
Now, the different folders created are simply snapshots of the current solution at the specific timestep. To control how often the solver is saving change the writeInterval number in the controlDict file. You can also change almost all these values on the fly, while OF is running.
Finally, concerning the other errors of parafoam it seems somehow parafoam is reading the intial condition names instead of actual results from the solution files and it doesn't like it.
Does this happen only when you open the case (i.e. at 0 time) or does it also happen when you move to an other timestep?
Also, are you using paraFoam, paraview or the paraFoam -builtin method?
The extension of the paraFoam file seems to be .foam which means you are probably using the built in viewer. That might be the issue but I'm not sure.
Can you try running paraview, navigate to your case folder, open the .foam file and see if there is still an error?
Also, if it isn't much trouble can you zip one of the time folders and attach it here? I'd like to take a look at what's inside to check against what the error report says.
Once again thanks for testing!
Kind regards,
Theodore.…
er and how I used Ladybug to influence it and posting to Youtube or Vimeo. With your consent of course. :)
Ok.. I think I understandWith the Rose it was just what I was thinking... now with the CallaLily I have a question. The form of the Lily doesn't change. Is this correct? So the form stays the same and the colors on each of the surfaces changes to show you what angle and orientation your are getting the most radiation or the least radiation and everything inbetween... Is this correct?Also, I have a few questions about the Radiation Analysis... I am trying to use it to understand which parts of my building are getting the most radiation. Would it be correct to use it for this?.. Also, I read in another post on the Ladybug page about how someone had problems with single surfaces so they gave them thinkness to correct the problem of getting the right readings. I have had something similar happen and was wondering if having all the surfaces joined or not had an affect? It seems it has for me. I also get wrong (and when I say wrong I mean 0) readings when I input a lot of surfaces compared to few. Is there a limit that the component can handle?... Lastly, I haven't figured out what the "Context" input is. Maybe this is partly to do with my other problems....
I can send you the files if you would like to look at them.Thanks,
Jason…
gaps between each other.. If you use more points and divide octagons list by some distance-to-point parameter, so each tip has a certain number of curves assigned, you'll get groups of Breps (each group extruded to one point) that will overlap each other or have gaps between each other, although inside of each group everything will work correctly.. If it's ok and you don't need every surface to touch its neighbor correctly, then it's quite simple...
...but I think it's not the right way...
..to create irregular distribution of geometry between 2 surfaces you can combine domain tools (Math tab) and morphing tools (Transform tab)... I created a simple subdivision definition - you can control division by using graph mappers... you can also try other types of graphs..
..so you don't use control points, but domains to map extruded octagons to surface...all neighboring surfaces will stay connected... but there is also a tiny problem - surfaces won't be planar...
...as usual with GH- it's just one way among many others.. you can subdivide surface by different parameters like sun vector, bitmaps, curve or point attractors, static loads....it's not that simple though...maybe I'll come up with some smarter solution later..
p.s. I used mesh geometry, because it's much faster to morph.. if you need a rhino surface, there's a note in the file, that will tell you how to morph it..…
1. follow the steps that David suggested.
2. When you try to download the GH from http://www.grasshopper3d.com, if it downloads as .rhi file again, follow the following instruction:
Right click on .rhi file then "Open with" and browse for the "rhinoexec.exe" in C:\Program Files\Rhinoceros 5 (64-bit)\System\x86.
As soon as you click on OK. it will run the GH installation and will say that GH was successfully installed, but then when I opened Rhino 5, even though the 0.9.0061 folder was in the previous location:
C:\Users\naciem\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\Grasshopper {..........}\0.9.61.0
my GH was not installed in Rhino 5 and I had to install it manually by:
1. Type "PluginManager" command in Rhino 5
2.Click on "Install" and browse for "GrasshopperPlugin.rhp" file in C:\Users\naciem\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\Grasshopper {..........}\0.9.61.0
And now GH 0.9.0061 seems to be installed and working.
I hope this helps!
Thanks,
Naciem
…
nk the the US Department of Energy's MidriseApartment template that Honyebee uses is not supposed to include hot water in the equipment loads (equipment loads = 3.875 W/m2). However, even for residential, hot water typically makes up a relatively small portion of the building energy use (and internal space gains) such that it's usually ok to leave it out of a full building energy model and model it separately. So I would recommend using the Ladybug hot water components for now or (if you really need the hot water system in your energy model) build the hot water system in OpenStudio after exporting from honeybee.
As for heat recovery, given that Abu Dhabi never gets that cold, regular-old sensible heat recovery is likely not going to have a large effect. You want to make sure that you use an enthalpy wheel (set the heatRecovery on the airDetails to 2) and this will ensure that both latent and sensible heat is recovered. As a result, you will save a lot on the cooling energy because enthalpy wheels will ensure that the incoming air does not have to be dehumidified as much. Also, enthalpy wheels generally have a higher recovery effectiveness than most sensible heat recovery systems so you can set this as high as 0.7 like so:
The COP is ignored when using ideal air systems and the "Assign HVAC System" should give you a warning about this.
-Chris…
about in the levels there is on average 3 floors per segment). -(Each segment will have a Rib around it)
2) - From the Curves I used the "Divide array of curves" command from the Panelling tools plug-in and got my self a load of Points divided correctly to what I need my Diamond shape dimensions to be.
3) - Then Used the Panelling tool to create my Diagrid which works OK, but not perfectly, it also doesn't let me offset the middle of each Diamond shape and remove the inside So I can then extrude the frame outwards...The far right component shows the end result, see how it miss's out a load of Diamonds.
So What I want to Do from using Grasshopper is using the Line work, I want to create the Diamond Shapes, we will call that Glass, THAT'S ONE DONE,
I then Want GS to create me a separate component of that glass, offset it inwards by X amount, remove the inside of each Diamond, and extrude it all outwards to give it a thickness of my choosing, We will call that TRUSS WORK. - Can Anyone point me in the right direction?
[URL=http://img529.imageshack.us/i/example011111.jpg/][IMG]http://img529.imageshack.us/img529/6290/example011111.jpg[/IMG][/URL]
…
ck, here is what I have tried so far.
I have seen sever similar posts with no responses. So here is hoping for the best.
1- Running the DHT11 in the Arduino IDE Serial monitor works great!
2- Loading the firmata and connecting the board to firefly seems to be connected, analog sensors giving readings.
3- Taking the DHT11 sketch adding the firmata library on top and uploading. This is the point where things seem to stop working. The Arduino code uploads ok, but now the analog sensors stop working and the digital sensor also is not giving any info.
I read that because the digital sensor is I2C so I should use the firefly serial read, but no luck it just gives a fixed set of numbers that do not reflect the analog or digital sensor. How do I modify the firefly firmata to include the DHT11 library or modify the DHtT11 code to include and actually work with firefly?
Or is there a different better way to engage with this type of problem.
Thoughts advice help all appreciated!
…
ts connectors and slots that allow CNC machining the facets and connectors for assembly.
https://www.youtube.com/watch?v=34OvgflJEmI
We developed this construction methodology earlier this year while working on a large scale parametric structure for Midburn, the Israeli Burning Man. While doing so I used grasshopper to generate the facets for the geometry, while a friend on the team (Matan Zohar) wrote a javascript app that translated the mesh into connectors and slots for CNC manufacturing. You can see more about the project here:
http://www.shlomimir.com/triped/
I wrote this component as an exercise in learning rhinoscript and python, with the purpose of bringing the functionality into the grasshopper workflow. It's now to the point where it is working for triangle and square welded meshes while outputting the connectors and slots as an unorganized list.
Questions and To Do List
1. I'm new to object oriented coding and functions, and basically just wrote the whole thing as a series of conditional loops with two dimensional arrays holding the data. Planning on restructuring this better, would love any tips.
2. Right now outputting the connectors and slots on the input mesh itself in 3D, planning on setting this up layed out on one plane to organize for cutting. I was wondering if there are any existing tools for this or if I need to do this manually.
3. Labeling connectors and slots. Is there anyway to output text from python that can be later baked into the rhino for labeling?…
command in Rhino 4 to have the default editor (and F1 in there to open the help). It is setup as a large number of functions, all available in the form of Rhino.DoSomething(). Mostly, DoSomething is either Add or Delete an entity from the current document.
Grasshopper is a plug-in for Rhino developed and distributed for free by McNeel. It is based on RhinoCommon, which is the new .Net SDK - which is being written for the upcoming Rhino 5. Grasshopper provides all Rhino users with a powerful yet understandable interface for automating their tasks and exploring geometry though a visual interface. This might be called the Grasshopper visual programming language. The first step to learn Gh would be getting acquainted to this model. None of the Grasshopper components modifies the current document, only the Bake button does so. This and another reason mean that RhinoScript cannot be directly used inside Grasshopper.
RhinoCommon as a library is written in C# and Grasshopper itself is written in Vb.Net and C#.
Grasshopper offers scripting components that are compiled in debug mode, on the fly, just when you click "Ok", for both C# and Vb. Also, at McNeel we are testing ways to provide a Python interpreter via IronPython to Grasshopper. A nice advantage would be that variable input would also be acceptable in this model. Rhino 5 already has a Python interpreter for automating Rhino.
Finally, Grasshopper has a public yet (warning here) quite rapidly changing SDK. You can download it via the _GrasshopperGetSDKDocumentation command (comment: you need to load Grasshopper in order to see this Rhino command). The help file also explains how to setup your own components and make Grasshopper load them. This is useful for fairly non-conventional usages.
I hope this intro is helpful.
- Giulio
_____________________
giulio@mcneel.com
McNeel Europe, Barcelona…