(1) I have been exporting small sections of a larger model into Maya from Rhino as FBX. In Maya I rotate and scale the models (-90 in X, Scale XYZ 0.001). The Named Views are being saved, but do not have a successful import into the Maya model. They do not appear as in Rhino, and the problem is not solved by scaling or rotating the cameras.
(2) If I try going the other direction, the cameras exported from Maya as FBX are also not aligning with the model in Rhino as they are in Maya.. I will do my best to post some images of the problem and hope you can help.
error !!
This is what the named views look like
here I am trying to the other way with a good view from Maya
strange placement..
This is the best result I can achieve, after I scale the camera by 1000
Any Advice???
Thanks, Robert.
…
ysim.ning.com/
When you run the simualtion you will notice on the batch terminal that Daysim is also being called, so you may want to consider how Daysim uses Radiance files & data.
Regarding your current problem, I think you stumbled onto something weird and interesting.
Interior and exterior readings appear to differ by 40 in the best case scenarios. Even setting the transmittance to 1 yields similar results. I tried changing from cummulative sky to climate sky and got similar values. Changing the test points did nothing either.
I think, (yet I'm too lazy to prove this) that the difference in values stems from diffuse radiation over the sky dome.
If you delete everything except the glass you'll notice that interior values are like 80-90% of the exterior values (this seems like the expected behaviour with a transmittance of 1). So, if we consider that a vertical window, part of an opaque box, is receiving radiation from 25% of a sphere, as you start to inset the interior test points the radiation they receive will be a fraction of the 25%.
Let me try to explain this better...The exterior surface receives radiation from a section of a sphere calculated by 180degrees on the xy plane (let’s call this angle theta) and by 90degrees (let’s call this angle phi) in azimuthal elevation. If you integrate this over spherical coordinates (theta from 0 to pi; phi from 0 to pi/2) you will find that it comes to a quarter of a sphere. By comparison, the interior surface will not integrate theta from 0 to 180degrees,nor phi from 0 to 90degrees, instead it will be the subtended angle from the exterior surface as a function of their separation; the farther in you go the smaller the view of the outside.
If my hypothesis is correct there shouldn't be that much difference since the separation is only 10cms...the subtended angle would be like 170 instead of 180 for theta and 85 instead of 90 for phi...overall if you integrate both spherical areas there should only by a difference of 10%.
In conclusion, I believe the unexpected behaviour stems from the previous subtended angle thing. If direct radiation was the only factor the difference would be the aforementioned 10%, which suggests that an additional source of energy is also affected by this. Perhaps indirect and diffuse radiation from other areas of the sky dome.
I’m definitely intrigued on why this is happening. Please post if you figure it out.
Regards,
Mauricio
…
azione parametrica e generativa attraverso Grasshopper, plug-in di programmazione visuale per Rhinoceros 3D (uno dei più diffusi modellatori NURBS per l‘architettura e il design). Il workshop mira a gestire e sviluppare il rapporto tra informazione e geometria lavorando sui sistemi ad involucro in condizioni specifiche.La discretizzazione di superfici (pannellizazione Nurbs o Mesh), la modellazione delle geometrie attraverso informazioni (siano esse provenienti da analisi ambientali, mappe o database) e l’estrazione e la gestione di queste informazioni, richiede la comprensione di strutture di dati al fine di gestire completamente processo che va dalla progettazione alla costruzione.I partecipanti impareranno come costruire e sviluppare strutture di dati parametrici per informare geometrie ‘data-driven’ e come estrarre le informazioni rilevanti da tali modelli per il processo di costruzione.
Modulo 2 – Il workshop, volto a promuovere le nuove tecnologie digitali di supporto alla progettazione e alla fabbricazione, esplorerà l’integrazione tra design e prototipazione tramite processi di stampa 3d di materiale ceramico al fine di comprenderne allo stesso tempo sia il comportamento del materiale che i vincoli e le opportunità offerte dall’utilizzo di tali tecnologie.Infatti utilizzando grasshopper ed una macchina a controllo numerico i partecipanti apprenderanno le modalità per la generazione parametrica dei modelli e la creazione del codice per la loro prototipazione (Gcode creato direttamente in Grasshopper). Il workshop darà quindi ai partecipanti la possibilità di testare direttamente i loro elaborati digitali stampandoli in modo da comprendere come le informazioni articolate tramite tali strumenti di design producano specifici effetti sia morfologici che estetici.…
ut in the next few days.
I've found getting really good handling of static vs kinetic friction to be a pain though.
Distinguishing between collisions and resting contact generally becomes more complicated than it might first appear.
If the collision with the mesh or ground is 'hard' I project the particle positions, so they can never penetrate, and reverse the component of their velocity normal to the surface (multiplied by the restitution factor). This means that whenever you have some structure of springs resting on a hard surface, there is usually still some tiny imperceptible bouncing. This makes it hard to properly apply static friction (which would zero the tangential velocity if the tangential force was below some threshold and it is not already sliding), because particles are generally not perfectly on the surface, even when apparently at rest. Obviously it's not good to have friction affecting things that aren't touching the surface.
This is the origin of the 'settle' parameter in the settings. The idea was that when the motion of a particle normal to the surface drops below that limit, it will be totally zeroed, and the particle becomes properly resting on the surface. I never really like having to use these kind of weird ad hoc fixes though.
Alternatively, if the collision is 'soft' I use a spring-like force to push particles out of the ground/mesh.
This can cause problems because in many cases you just want a simple constraint that they never go below ground level, and there is a limit to how stiff you can make these spring-like forces.
The advantage though, is that because any particle resting 'on' the ground/surface will actually be slightly below/inside it, and one can use this to decide whether to apply contact friction.
With bouncing collisions, it is a little simpler. There is just the question of what to do with the velocity component tangential to the surface. See the bottom comment by me here, for more on the 'tumble' setting:
http://www.grasshopper3d.com/video/kangaroo-traction-test
So you see, it is challenging to get one consistent model that will give correct behaviour for all cases (eg a simple static 'leaning ladder' type problem, a bouncing particle, and vehicle wheel traction), without having several of these odd seeming and non-intuitive settings.
…
Added by Daniel Piker at 11:11am on October 18, 2012
m is different from email spam.
Email spammers want you to buy their product. You are the target of the ad contained in each email spam you receive. Comment/web spammers want your readers to buy their product. You (the blogger, author, moderator) are not the target.
2. Web spammers are social engineers.
Email spammers write messages to get your attention. Comment spammers write messages to escape your attention. They want you to believe they are real bloggers, real people, writing real comments, so you’ll approve the comment and publish it on your site. They use flattery, appeal to your good nature, and simply lie in order to convince you to give them the benefit of the doubt.
3. Web spammers are basically advertising on your blog..
..and they're keeping all of the profits. They’re not even asking your permission first. Right now someone is offering to sell links from your blog to anyone willing to pay a few dollars (or a few cents). If your blog is well known, it may even be listed by name, with backlinks for sale at a set price.
4. It’s all about the backlinks.
Web spammers are selling links from your blog to their clients. They do this to game the search engines and trick your readers into visiting dubious web sites. Their clients are sometimes seemingly harmless, but are often peddling fake pills, porn, scams and malware. Sometimes they’ll use “buffer sites” – that is, innocent looking web pages intended to disguise the fact that they’re really advertising something more sinister.
5. Spammers employ humans.
Not all spam is delivered by spambots. Spammers are increasingly using humans to write and post comments by hand. Typically they are exploiting low-paid workers in internet cafes, schools and factories. Sometimes they are viral marketers paid to promote a new product. Either way they are trying to exploit your blog for their profit – and hoping to do it without you noticing.
…
Added by Danny Boyes at 4:51am on October 24, 2013
he results are accurate enough.Good to go!Current working directory is set to: C:\002_VIDEO\02_UNI\TU_GRAZ\01_DISSERTATION\02_RESEARCH\08_POMODORO\01_SIMULATION_MODEL/03_HONEYBEE\VF_00\gridBasedSimulation\start cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineRuntime error (IndexOutOfRangeException): index out of range: 0Traceback: line 271, in script…
is set to: C:\002_VIDEO\02_UNI\TU_GRAZ\01_DISSERTATION\02_RESEARCH\08_POMODORO\01_SIMULATION_MODEL/03_HONEYBEE\VF_00\gridBasedSimulation\start cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get Commandlinestart cmd /c C:\Users\paratufello\AppData\Roaming\Ladybug\unnamed\annualSimulation\unnamed_7_DS.batWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineWMIC PROCESS get CommandlineRuntime error (IndexOutOfRangeException): index out of range: 0Traceback: line 271, in script…
dy for a wall where we want to analyze its openings. I made a parametric wall that then get's analyzed with different geometries and the idea was just to leave it there for the weekend as it morphed through different iterations. However, after successfully running a test simulation on my pc (just with one iteration), it fails to run the same test on the workplace computer. Any help would be greatly apprecated! Here is the following error:
Sorry! But the number of available CPUs on your machine is 4.
Honeybee set the number of CPUs to 4.
Grid-based Radiance simulation
The component is checking ad, as, ar and aa values. This is just to make sure that the results are accurate enough.
Good to go!
Current working directory is set to: C:\ladybug\Parametric_Shading_Wall\psw_z0.25_t.025_y.2_r90_m3_lux\gridBasedSimulation\
Failed to read the results!
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
Runtime error (PythonException): Failed to read the results!
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
PS. It says to see line 336…
ed file and code below:
Color ColorAt(Mesh mesh, int faceIndex, double t0, double t1, double t2, double t3) { // int rc = -1; var color = Rhino.Display.Color4f.Black;
if( mesh.VertexColors.Count != 0) { // test to see if face exists if( faceIndex >= 0 && faceIndex < mesh.Faces.Count ) { /// Barycentric quad coordinates for the point on the mesh /// face mesh.Faces[FaceIndex].
/// If the face is a triangle /// disregard T[3] (it should be set to 0.0).
/// If the face is /// a quad and is split between vertexes 0 and 2, then T[3] /// will be 0.0 when point is on the triangle defined by vi[0], /// vi[1], vi[2]
/// T[1] will be 0.0 when point is on the /// triangle defined by vi[0], vi[2], vi[3].
/// If the face is a /// quad and is split between vertexes 1 and 3, then T[2] will /// be -1 when point is on the triangle defined by vi[0], /// vi[1], vi[3]
/// and m_t[0] will be -1 when point is on the /// triangle defined by vi[1], vi[2], vi[3].
MeshFace face = mesh.Faces[faceIndex];
// Collect data for barycentric evaluation. Color p0, p1, p2;
if(face.IsTriangle) { p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.C]; } else { if( t3 == 0 ) { // point is on subtriangle {0,1,2} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.C]; } else if( t1 == 0 ) { // point is on subtriangle {0,2,3} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.C]; p2 = mesh.VertexColors[face.D]; //t0 = t0; t1 = t2; t2 = t3; } else if( t2 == -1 ) { // point is on subtriangle {0,1,3} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.D]; //t0 = t0; //t1 = t1; t2 = t3; } else { // point must be on remaining subtriangle {1,2,3} p0 = mesh.VertexColors[face.B]; p1 = mesh.VertexColors[face.C]; p2 = mesh.VertexColors[face.D]; t0 = t1; t1 = t2; t2 = t3; } }
/** double r = t0 * p0.FractionRed() + t1 * p1.FractionRed() + t2 * p2.FractionRed(); double g = t0 * p0.FractionGreen() + t1 * p1.FractionGreen() + t2 * p2.FractionGreen(); double b = t0 * p0.FractionBlue() + t1 * p1.FractionBlue() + t2 * p2.FractionBlue();
ON_Color color; color.SetFractionalRGB(r, g, b);
unsigned int abgr = (unsigned int)color; rc = (int) ABGR_to_ARGB(abgr); **/ var c0 = new Rhino.Display.Color4f(p0); var c1 = new Rhino.Display.Color4f(p1); var c2 = new Rhino.Display.Color4f(p2); float s0 = (float) t0; float s1 = (float) t1; float s2 = (float) t2;
float R = s0 * c0.R + s1 * c1.R + s2 * c2.R; float G = s0 * c0.G + s1 * c1.G + s2 * c2.G; float B = s0 * c0.B + s1 * c1.B + s2 * c2.B; color = new Rhino.Display.Color4f(R, G, B, 1); } } return color.AsSystemColor(); }
…
ort and export from the images below and also from the HELP file of DB in attachments (Page 71: Importing Geometric Data; Page 78-80: Import 3 - D CAD Data). In their HELP file, they mention about "import geometric data".
However, regarding the input of schedules, loads, constructions and etc., DB normally uses "Component " and "Template" (Page 29: Templates And Components; Page 591: Templates; Page 533: Components). "Templates" are databases of typical generic data, including Activity templates, Construction templates, Glazing templates, Facade templates, HVAC templates, Location Templates, and etc. "Component " are databases of individual data items (e.g. a construction type, material, window pane).
Both "Component " and "Template" are allowed to be imported and exported by using "Import / Export library data" command (.ddf format - DB Database File; Page 734: Import Components/Templates, Export Components/Templates). DB also allows us to build up our own libraries of templates and components (Page 731: Library Management; Page 733: Template Library Management).
In order to import both geometric information and other information related to schedules, loads, constructions and etc. from GH to BD, we supposed the following two ways:
1. GH(HB+GB) --> gbXML (both geometric and "Component " and "Template" information) --> DB
This is the way we most prefer. We did see information related to schedules, loads, constructions encoded in the gbXML file generated by GB, but still do not know the reason why DB did not take this information (I also mentioned this in Q6 within the gh file). We assume this might because the gbXML file we create encodes the schedules based on a different template / schema than the one DB expects. We also post this question to the DB forum for help.
(http://www.designbuilder.co.uk/component/option,com_forum/Itemid,25/page,viewtopic/p,13755/#13755)
2. GH(HB+GB) --> gbXML (geometric information only) + .ddf ("Component " and "Template" information only) --> DB
If the first way doesn't work and DB only takes geometric information from the gbXML, then we might think of the other way - generating the .ddf files from GH(HB+GB) to pass the schedule, load and construction information to DB.
I was wondering if it is feasible for HB and GB to have this function? And what is your suggestion to achieve this?
In addition, we notice that DB can export XML files (not gbXML), so we are trying to figure out if DB also accepts / reads the XML file. If so, we might be able to convert the gbXML (with both geometric and schedule information) to XML. What do you think about that?
Thank you again for all your help!
Best,
Ding
DB import
DB export
Template libraries
Component libraries
…