uts.
If I change the number of polygon sides to 8 the result looks like this:
Note that there are no missing rows with 8 sides. I've tried all the numbers from 3 to 12 and in general an even-number of sides results in no missing rows, but an odd number of sides has a missing row. And for # sides 10 - 12 there are 2 missing rows.
I tried all the options for the Offset object's Corners variable which is use to make the solid outside wall, but this has no effect. I also tried rotating the cutouts a little and a lot, changing their size, height, etc., but this had no effect either. So I'm stuck on how to eliminate the missing row of cutouts.
I realize this is a more or less cosmetic problem (no one will see the bottom of the printed part unless they pick it up), but I'd like to get it fixed before I publish the final design. The attached GH file has all the components used to make these images.
…
Added by Birk Binnard at 11:58am on November 28, 2016
t simply finds the bounding box points of the surface, generates base grid points from them and makes contouring lines based on the base grid points with world ZX or YZ plane.
My problem here is that the results of the script are unpredictable because the script frequently misses the first or the last contouring lines. It seems that the position or domain ranges of the given surface matters.
How can I make sure that the script always includes both ends, using bounding box points and AddSrfContourCrvs?
In advance, thank for your help!
-Ki
import rhinoscriptsyntax as rs
def contourPointsPlane(srf, pts, plane=rs.WorldYZPlane()):
"returns the list of the crvs list, divided by grid points" listCrvs = list()
for i in range(0, len(pts)): tempPlane = rs.MovePlane(plane, pts[i])
tempCrvs = [rs.AddSrfContourCrvs( srf, tempPlane)]
listCrvs.extend ( tempCrvs )
return listCrvs
def getIntervalPts(startPt, endPt, num):
"returns the list of dividing points" vecDir = rs.VectorUnitize(rs.VectorCreate( endPt ,startPt ) )
dblDist = rs.Distance(endPt, startPt)
distance = dblDist/num
maxIndex = dblDist / distance
vecDir = rs.VectorScale(vecDir, distance ) ptList = [startPt] #assign the start point to the first
for i in range( 1, int(maxIndex)):
ptList.append( rs.PointAdd( ptList[i-1], vecDir ) )
ptList.append(endPt) #assign the end point to the last
return ptList
if __name__== "__main__":
srf = rs.GetObject("select the surface")
bBox = rs.BoundingBox(srf) ptsX = getIntervalPts(bBox[0], bBox[1], 10)
ptsY = getIntervalPts(bBox[0], bBox[3], 10)
crvTopXListList = (contourPointsPlane( srf, ptsX, rs.WorldYZPlane() ) )
crvTopYListList = (contourPointsPlane( srf, ptsY, rs.WorldZXPlane()) )
…
esult:
as you see it is not trimmed
i know that i should control the "automatic trim bolean" in "CreatePatch"
but the problem is the "CreatePath" in GH has 3 different way to work
i used the simple one: "CreatePatch(geometry, uSpans, vSpans, tolerance)"
but if i want to trim the surface i should use a more complex way: "CreatePatch(geometry, startingSurface, uSpans, vSpans, tolerance, trim, tangency, pointSpacing, felexibility, surfacePull, fixEdge, tolerance)"
i don't know what to insert instead of the "red" parameters…
it seems that was this. Now all is working fine !
Glad that it worked! But I am still a bit worried. Gismo components only modify the gdal-data/osmconf.ini file and no other MapWinGIS file. So your MapWinGIS installation files should not be compromised. The fact that you did not get the "COM CLSID" error message when running the "Gismo Gismo" component suggests that MapWinGIS has been properly installed. So I wonder if the cause for the permanent "invalid shapes" warning has again something with the fact that your system is again not allowing the MapWinGIS to properly edit the osmconf.ini. Maybe this problem will appear again, and again, and reinstallation of MapWinGIS every time can be somewhat bothersome.
- About the terrain generation, is it possible to have the texture from google or other provider mapped onto the terrain surface from gismo component ? (Same as using the ladybug terrain generator in fact). I try to used the image extracted by ladybug component and then applied it to the gismo terrain but the texture is rotated by 90°.
The issue with the rotation can be solved by swapping/reversing the U,V directions of the terrain surface. A slightly more important issue is that terrain surface generated with Gismo "Terrain Generator" component might have a bit smaller radius than what the radius_ input required. This stems from the fact that the terrain data first needs to be downloaded in geographic coordinate system, and then projected. Some projecting issues may occur at the very edges of the projected terrain, so I had to slightly cut out the very edges of the terrain which results in the actual terrain diameters being slightly shorted in both directions. This means that if you apply the same satellite image from Ladybug "Terrain Generator" component to Gismo "Terrain Generator" component the results may not be the same.I attached below a python component which tries to solve this issue by extending the edges of Gismo "Terrain Generator" terrain, and then cutting them with the cuboid of the exact dimensions as the radius_ input. Have in mind that this extension of the original terrain at its edges is not a correct representation of the actual terrain in that location. But rather just an extension of the isoparameteric curve of the terrain surface. So basically: some 0 to 10% (0 to 10 percent of the width and length) of the terrain around all four edges is not the actual terrain for that location, but rather just its extension.The python component is located at the very right of the definition attached below.
Also, if you would like to use the satellite images from Ladybug "Terrain Generator" component along with "OSM shapes", sometimes you may find slight differences in position of the shapes. This is due to openstreetmap data not being based on Google Maps (that's what Ladybug "Terrain Generator" component is using), but rather on Bing, MapQuest and a few others.
- About the requiredKeys_ input of OSM shapes, I understand what you mean and your advice, but in most cases I use it, the component was working fine even without input. I think it's better to extract all tags, values and keys of the selected area, instead of searching for specific ones as I try to find all data related to what I want after, isn't it ? To check what keys are present on the area also.
Ineed, you are correct.I though you were trying to only create a terrain, 3d buildings and maybe find some school or similar 3d building, for these two locations. The recommendation I mentioned previously is due to shapefiles having a limit (2044) to how many keys it can contain. This requires further testing of some big cities locations with maybe larger radii, which I haven't performed due to my poor PC configuration. But in theory, I imagine that it may happen that a downloaded .osm file may have more than 2044 keys. In that case shapefile will only record 2044 of them, and disregard the others. That was my point.But again 2044 is a lot of keys, and I haven't been checking much this in practice. For example, when I set the radius_ to 1000 meters, and use your "3 Rue de Bretonvilliers Paris" location I get around 350 something keys, which is way below the 2044.Another reason why one should use the requiredKeys_ input is to make the Gismo OSM components run quicker: for example, the upper mentioned 350 something keys will result in 350 values for each branch of the "OSM shapes" component's "values" output.Which means if you have 10 000 shapes, the "OSM shapes" component will have 10 000 branches with 350 items on each branch (values). This can make all Gismo OSM components very heavy, and significantly elongate the calculation process.With requiredKeys_ input you may end up with only a couple of tens of items per each branch.Sorry for the long reply.…
Added by djordje to Gismo at 8:57am on June 11, 2017
rtheless, here is how to do that:
Volvox.gha contains the Instructions objects which are the default instruction available in the plugin
Volvox_Instr.dll has the abstract classes from which the gha instructions inherit
Volvox_Cloud.dll finally contains the GH_Cloud object which tells Grasshopper how to treat the geometry.
You have to reference all 3 of them to make this script work. (they should be in the place you've installed Volvox, GH libraries by default). Just copy paste it then into a VB scripting component.
'create 2 instructions - these classes are from the Volvox.gha library Dim in1 As New volvox.Instr_planeclip(plane.WorldXY) Dim in2 As New Volvox.Instr_RandomSub(0.5, 123) 'create 2 rhino pointclouds Dim pc1 As New pointcloud Dim pc2 As New PointCloud
'populate them with some points For i As Integer = -100 To 100 Step 1 pc1.Add(New point3d(10, 0, i)) pc2.Add(New point3d(0, 0, i)) Next 'execute the instructions onto the pointclouds. in1.Execute(pc1) in1.Execute(pc2) 'note the random subsampling instruction has the same seed in both cases, 'hence it will sift the points in the same pattern in2.Execute(pc1) in2.Execute(pc2)
'get the clouds out with the GH_Cloud class, 'so that Grasshopper understands it as geometry object a = New GH_cloud(pc1) b = new GH_Cloud(pc2)
…
rves that "intersect" a plane placed on Z=6 above the first circle. I did this to have a collection of points from which to choose 3 and make a 3pt-circle.
[this second circle "fits" the catenary at a certain height, that's what I wanted to do]
Maybe it's obtuse but anyway that's the way I managed it.. I then used the "intersection" of the top circle with the original catenary curve to "split" the catenary into 2 parts, I then "Rail Revolution" the first part of it around the axis of the original circle, using the circle as a "rail", and I get a Brep surface.
It is a "open brep" surface, so now i'm having the problem of managing it if I want to subdivide it with Isotrim or other commands to control the number of subdivisions.
Is there a better way to go about this?
I am attaching the file.
About the image, I checked my code about 10 times to understand why it has those "lines" every 1 meter in the Z, and they already appear in the "rail revolution" component when it is visible, but in the "brep components" I can see the individual points along the rail curve.
I think this is what might be causing the brep to surface problem, but for the life of me I can't understand why the rail is not smooth and is "divided" into the 7 points instead of just one smooth revolution...
Thanks! :)
…
urely; an inevitable symptom of developing a piece of software on what Generative Components was doing almost 10 years ago, and creating a generation of users who have the power but not the insight in to how to use these tools properly. Ever seeing, never perceiving.
@ André-Jacques BODIN: as answers so far seem to be coming via links, try this: http://www.bentley.com/en-US/Products/GenerativeComponents/
you can download the latest version for free and it is infinitely more superior to GH. The learning curve is steeper but worth it. Out of experience I can tell you that the problem you have would be solved via your own skill and intelligence in a matter of seconds, rather then clumsily relying on somebody else to write some code 'packaged' as a component, and ultimately restricting your capacity to explore novel design solutions in an intelligent way.
If you are going to work in practice then unfortunately GH becomes utterly useless as it can only really be used in the initial stages of design. Its merely a toy for students and hobbyists. If you are just starting out, invest your time more wisely and learn something which can be used over the entire life cycle of project. It's so versatile that you essentially have unlimited potential and all operations remain fully in your control, or put in another way; you're not restricted by the idiosyncrasies of another programmer who's 'components' might be totally unsuitable for a novel idea you may want to explore therefore killling it.
…
Horticulture and Landscape in same time.
The most common plastic materials used as agricultural films are the low density polyethylene (LDPE, with a density less than 0.93 kg m−3), the copolymer of ethylene and vinyl-acetate (EVA)
Also here you can find the characteristics of the flexible materials for greenhouse covers (adapted from CPA, 1992 and Tesi, 2001) as much as i get.
UV-PE Film ( UV-PE~ polyethylene Long life or UV)
Thickness (mm) = 0.18
Direct PAR transmissivity (%) = 90
Diffuse PAR transmissivity (%)= 86
Long-wave IR transmissivity (%)= 65
EVA Film ( EVA~Ethylene vinyl-acetate copolymer)
Thickness (mm) = 0.18
Direct PAR transmissivity (%) = 90
Diffuse PAR transmissivity (%)= 76
Long-wave IR transmissivity (%)= 27
and here you will find the global heat transfer coefficient’ (K in W m−2 °C−1) for the above greenhouse covering materials, measured under normalized conditions (temperatures: exterior: −10°C, interior: +20°C, wind: 4 m s−1). (Source: Nisen and Deltour, 1986.)
Cover Clear sky Overcast Sky
Single PE 8.8-9.0 7.1- 7.2
Single EVA 7.8 6.6
Note : the PAR radiation (photosynthetically active or photoactive radiation and its the amounts to 45–50% of the global radiation; Berninger, 1989)
The name PAR is used to designate the radiation with wavelengths useful for plant photosynthesis. It is accepted that the PAR radiation ranges from 400 to 700 nm (McCree, 1972), although some authors consider the PAR from 350 to 850 nm.
The composition of the radiation changes with time, as a function of the Sun’s elevation and the cloudiness. When the Sun is low over the horizon, the short wavelengths are reduced (less UV and more red). The clouds reduce the amount of energy, greatly decreasing the NIR.
The PAR proportion in relation to the global radiation increases with scattering (diffusion). It is lower with clear sky and in the summer (45–48%).
kind regards
rafat …
en la práctica de nuevos métodos de diseño y fabricación utilizando herramientas digitales. Estos procedimientos emergentes están cambiando radicalmente la manera en que nos aproximamos al proceso de diseño en términos de concepción y producción. Los participantes serán introducidos en el uso de softwares de modelado 2d y 3d para la generación de geometrías que serán posteriormente mecanizadas in situ en una máquina de control numérico CNC de 3 ejes.
¡AL FINAL DEL CURSO TE LLEVAS TU LÁMPARA A CASA!
Profesores: Equipo MEDIODESIGN* + TOOLINGROUP*
*Official Rhino Trainners. Acreditación otorgada por McNeel, desarrolladores del software Rhinoceros.
Lugar: Mediodesign. Pallars 85-91 5-2 BCN
Duración: 16 / 20 horas
Fecha: sábado 9 / domingo 10 julio de 2011
Horario: de 10h a 14h / de 16h a 20h
Plazas: 20 participantes
REQUISITOS
< Dirigido a estudiantes y profesionales de la arquitectura, diseño y profesiones afines.
< Ordenador portátil.
< Softwares instalados. En el momento de la inscripción, los participantes recibirán las instrucciones para la descarga e instalación de versiones gratuitas (trials) de los softwares.
CONTENIDOS
< Introducción al diseño avanzado y la fabricación digital.
< Entorno Rhinoceros y sus plug-ins.
< Herramientas y estrategias de trabajo CNC.
< Materiales y sus características.
< Planteamiento del ejercicio: diseño de una luminaria
< Desarrollo del archivo de RhinoCam para el mecanizado CNC.
< Mecanizado y post-producción.
< Entrega de propuestas: Presentación en formato digital del proceso de diseño y fabricación (pdf, powerpoint, etc…) y del prototipo de luminaria realizado.
INSCRIPCIONES
Precio: 199 € Materiales incluidos.
Forma de pago: mediante transferencia bancaria.
Límite fecha de inscripción: lunes 4 de julio 2011
Se otorgará certificado de asistencia. …
etric/parəˈmɛtrɪk/adjectiverelating to or expressed in terms of a parameter or parameters.art/ɑːt/nounthe expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power.// Summer School 2017 3 day intensive workshop for design students & professionals will delve into computational & parametric methods (using Rhino3D & Grasshopper3D) to create data-driven art installations, physically manifested into a space through hands-on fabrication & assembly.The experimental studio will run across 2 cities in India (New Delhi & Mumbai) and investigate the agenda of ‘filling the void’ at art installation scale, through the use of computation and parametric methods. Studio is designed as a 3-day event in both cities comprising of technical tutorials, teaching sessions, prototyping & presentations culminating in a symposium / round-table conference / open discussion with leading / emerging professionals that demonstrate computation, parametric design or alternative techniques in their work / practice / academia. // Cities & Dates*New Delhi – 30th June to 2nd July 2017 (Friday to Sunday)Mumbai – 7th July to 9th July 2017 (Friday to Sunday)//VENUE: DELHI: Startup Tunnel, Vihara Innovation CampusD-57, 100 Feet Rd, Pocket D, Dr Ambedkar Colony, Chhattarpur, New Delhi - 110074MUMBAI: Raffles Design International, MumbaiHi Life, 2nd Floor, Phirozshah Mehta Road,Santacruz (W). Mumbai – 400054// Registration DatesAll Registrations End 4 days prior to workshop start date (Or till seats last)// About rat[LAB] EDUCATIONrat[LAB] EDUCATION is an initiative by rat[LAB]-Research in Architecture & Technology (www.rat-lab.org) to start a new discourse in architecture & parallel design disciplines with the use of ‘computational design’ & it’s various subsets. Spread across various cities / countries, we are establishing a global dialogue in the domain of computational design by actively organizing and participating in workshops, lectures, presentations & symposia. While rat[LAB] has taken a top-down approach of exploring computational design through industry, a parallel, bottom-up approach is also in-line to involve students of all levels, from design & related backgrounds.…