This is the 2013 archive of the guestblog...

permalink:  398   posted on 30.12.2013 19:02
From Yorik
Commenting post 397: Thanks! I'm working on it...

permalink:  397   posted on 30.12.2013 2:50
From Shane Neph
Commenting post 314: Thanks for the tutorial on blender + python. Looking forward to the next one on freecad + blender + python

permalink:  396   posted on 29.12.2013 22:58
From Yorik
Commenting post 395: Sure! It can be in general discussions too of course. It's just that he Arch section is usually more visited by people from the construction field...

permalink:  395   posted on 29.12.2013 21:59
From Zef Glória
Hello Yorik
Yes I'll be doing it has suggested. But not only for HVAC, I'd like a general pipe type workbench, such as Natural Gas, Water supply, sanitation, drainage etc, they are similar and I project "dimention" with them all, of cause ones more than others, so what I ask is can I open a general discussing that is global in this matter?
This comming weak I'll start the discussion, on the Arch section.

permalink:  394   posted on 29.12.2013 18:00
From Yorik
Commenting post 393: Fixed. Thanks Rafael!

permalink:  393   posted on 29.12.2013 17:10
From Rafael
Commenting post 392: Check the link... it's freecadweb

permalink:  392   posted on 28.12.2013 21:16
From Yorik
Commenting post 391: Hi Zef,
Well there is nothing for HVAC at the moment, and nothing planned either. I am waiting for someone proficient with HVAC and interested in throwing the bases to appear, as I myself never worked with HVAC software or any usual tool, I dont have much idea of what is required. If you are interested in discussing that matter further, dont hesitate to open a new topic on the forum at in the Arch section for example...

permalink:  391   posted on 27.12.2013 23:20
From Zef Glória
Hello Yorik, I´m Portuguese civil eng. and have been looking at FreeCAD project. For what I've seen on the Arch workbench I can say exelent work, but I'm not an Arquitect for full knowlege.
What makes me write this text is if a "pipe, gutter, ducts etc" workbench is planed in the near furture, something like draw a line and turn it to one of these elements, with the parametric values example, in and out diameter material length section "area" etc, similar to draw a line and turn it to a wall, also fittings, accessories, these can be design once and kept some how for future works, and if the work could be printed as a real view "3D", or in simbology. There is a video on youtube that explains what I refer but I can't add it here.
This would be good for HVAC, domestic water supply, wastewater drainage etc, civil eng. work.
Would like to hear from you.

permalink:  389   posted on 13.12.2013 10:36
From Rafael (bitacovir)
Thanks for sharing your projects and FreeCAD files

permalink:  388   posted on 12.12.2013 20:45
From Regener Fortes
I am using your plug-in image feed for WordPress, but it doesnt show the enclosure image.

Can you help me?

Thank you for any help you can provide in this situation.

in categories  architecture  projects  permalink:  387   posted on 11.12.2013 18:36
From Yorik

Yaroslavl Spartacus Alive competition

This is a proposal for the Yaroslavl Spartacus Alive architecture competition, that asked for solutions for a very nice and strategic spot in the middle of the historical and UNESCO-protected city of Yaroslavl in Russia. Our proposal didn't win, although it got shortlisted and is selected for the Yaroslavl Architecture Biennale.


The arena is left almost entirely to its current function: An open space, fit for sports, recreation, shows, and any other spontaneous use that may arise. There, three new «buildings» are added: two above ground, for exhibitions of any type, and one underground, for archaeological exhibitions.

Additionally, with the creation of a grid of art and entertainment points (sculptures, architectural «follies», art installations, etc...) the arena also gains a prominent artistic role, and becomes a «patch» that links the two parts (north and south of the Kotorosl river) of the city.

The whole design is a free-form, adaptable system, made to be further adapted to the space demands of museum uses, and to the archaeological findings on the site.


The new arena marks the end of the historic centre with an art and entertainment grid which spreads on the park and the river making a link between the northern and southern parts of the city . This grid is made of totems made by different artists, from sculptors to painters, from architects to designers. Each one changes in form and use depending of its location.

Each totem can be an art installation or a sculpture. They can be sometimes a map which tells visitors about the city, sometimes an historic or artistic description of the site or building. Some of them can be bigger like architectural «follies» and to be a point of encounter: a coffee shop or a small snack bar, or an area with benches for resting, or marking a nice point of view over surrounding buildings. All of them are colored in the color of Yaroslavl: blue, to make a visual link for the people who are walking around the city.

These totems act like a group of blue fingers emerging from the center of the arena site and telling people what is nice to see and do in Yaroslavl. As doing this the grid transforms the new arena in the core of a link between the two sides of the river.


The new arena covers and spreads around archaeological remnants, but the new buildings are projected to adapt their forms to the historical site and the archaeological findings. They aren't built into the ravine, they just hover above it. In case of new archaeological findings, the walls and floors can become windows, showcasing the archaeological assets, or deform, to accommodate what is found below.

The underground building is made mainly for archaeological exhibitions.

The two buildings above ground are totally multi-functional, and can hold cultural events, temporary exhibitions or museum collections.

These two buildings are united by a huge square where people can gather for a match, a coffee, an exhibition or just a talk. The project keeps the new arena area as an encounter space and preserves the sportive soul of the place, respecting its current uses and major function in the city.

The square is easily transformed in a big concert area, extended by the walkable roofs. The roofs are painted by the green and flowered areas that are extensions of the parks that surround the arena.

The ensemble of these buildings and grids makes a great blend, combining all kinds of activities like art, sports, history and shows in the same place. This mixture is essential to keep the animation, occupying the area during the whole year and spawning all other kind of spontaneous activities.

The interaction of these activities creates a synergy between them: at the same time people who are invited to the formal exhibitions can be part of the spontaneous activities. People spending time around the square, looking for some grid installation or participating to some sportive event can be potential public for the more formal activities.

So it creates an endless recurrent invitation, generating and supporting the life of the place, which can only exist if it gathers many users.

in categories  architecture  projects  freecad  permalink:  386   posted on 11.12.2013 18:09
From Yorik

Florianopolis Mercado Público competition

This is a competition project for the public market of Florianópolis, Brazil. The program asked for a solution to cover the central open space of the market, an historical building located in the center of the city. Unfortunately (but quite expected) our proposal didn't win (winners here), but who has a sharp eye can see we made it to the final designs somehow

Our proposal is inspired by theater scenography, with a visual identity that is very different from the surrounding architecture, so it becomes unique and significant, and also achieves the reversibility and retractablility required by the project.

Composed by 30 mobile metallic panels (each one 4.30m by 8.15m) connected by a central metallic structure, it is thought as a decentralized roofing system, where each part can be moved manually, individually or in trios, by the market vendors.

Each part can be activated by individual crank systems, and can be elevated at an angle between 25 to almost 90 degrees. Between these two, any position is possible, resulting in a rich diversity of combinations, light and shadow situations and ventilation behaviours.

The manual operation is possible through a system of counterweights, placed in the central part of the structure, which allow a person of normal weight to operate it with relative facility. A pair of locks allows to fix each panel in a certain position and turn it resistant to winds.

When all the 30 panels are down, they cover almost 100% of the central open area.

Total water-tightness is not an objective of this proposal. The draining of rainwater is made from the central part of the new structure, while the panels extend above the existing roof, without touching it. This way, while gathering its own water, the roof leaves small vertical openings at its border, between the panels, and between the roof and the accesses. These openings allow a basic quantity of natural light to get through, even when the roof is fully closed.

When fully open, the roof keeps the central space totally open in almost all of its area. To take advantage of the constant and random play of light and shadow that the metallic panels can provide, we decided not to use any transparent part.

This way, with the movement of the panels, each market vendor becomes an active creator of the everyday variation of visual atmosphere that the new roof will provide on the public market.

Full competition panels are available here, and the FreeCAD file here.

permalink:  385   posted on 05.12.2013 23:08
From Yorik
Commenting post 384: Thanks!!!

permalink:  384   posted on 03.12.2013 23:02
From PeteC
Commenting post 188: Interlagos is a superb racetrack - one of my favourites on the calendar. Your design looks amazing!

permalink:  383   posted on 28.11.2013 21:26
From Yorik
Commenting post 382: Hi Niklas,
There is a special thread on the freecad forum to post works:

permalink:  382   posted on 28.11.2013 19:54
From Niklas
Okay. Today I finished the second manual (2 Pages Din 4, Inkscape/Freecad) without any problems (!!) . Inkscape/Freecad. The only thing I missed was to set the direction of the Open GL light. Many Parts got too dark with the laser printer . So I leveled up emissive color, but then the document on the computer it looks very bright. \ Where would you suggest the people to post their work with freecad?

permalink:  381   posted on 21.11.2013 17:19
From Howard
Excellent work. If you are interested, we have an open source 3D project management platform at Maybe our platform can help with your free CAD project. We are also interested in working with the Blender community and other open source creative suites.

permalink:  380   posted on 15.11.2013 23:18
From Yorik
Commenting post 377: Thanks!
No, I'm still not making arch drawings with FreeCAD. But I am making architecture projects with it. Still need to export to dxf to finish in a 2D CAD app (draftsight) at the moment, though...

permalink:  379   posted on 15.11.2013 23:15
From alexandr
thank you for your work. again and again=)

permalink:  377   posted on 15.11.2013 13:52
From You make
Commenting post 369: You make me want to use FreeCAD instead of BricsCAD, my friend.
I possessed now to use it and to be completely free and open-source.
Are you really making architectural drawings with freecad?

permalink:  376   posted on 14.11.2013 24:58
From Yorik
Commenting post 375: Actually it is not so easy... FreeCAD is a very complex thing, and you need a good experience with it (I mean, using it) before you can begin to code anything. And also, there is no very defined plan, so usually when someone comes and says "I want to code for FreeCAD! What can I do?" we tell him: cool down, begin to use it, get used to the way it works, its geometry engine, etc... then when you see something you would like to work on, do it. But most people don't like much to hear that, they want us to give them something to do, immediately.

Of course we hve a general plan, but developing CAD features is a very minutious, delicate and slow work... It's hard to find little tasks that people can code right away. But more and more people are beginning to use the arch module, recently an engineer helped me to add the rebar feature... And each improvement attracts more people to use FreeCAD (and the arch module) and therefore more chances to see people ready to dive into the code.

Honestly I already thought a lot about that, and I see no easy solution like "let's do a kickstarter and hire a programmer". What would we tell to that programmer, how could he easily and quickly understand the way architecture works, how could he solve problems that are still hard for us to define (see any discussion about BIM on the net to see how far we are from consensus).

I'm working on a third part of my python tutorial for architects, and that one is about FreeCAD. I hope that can trigger a bit of interest, since it will be the most interesting part for an architect, FreeCAD being parametric, etc. We'll see!

permalink:  375   posted on 14.11.2013 24:39
From Rafael
Commenting post 374: So, let's spread around the news about FreeCAD needs developers for architecture features.

permalink:  374   posted on 14.11.2013 24:00
From Yorik
Commenting post 373: Thx! At the moment it's only me... Not easy to attract architects to coding

permalink:  373   posted on 14.11.2013 23:47
From Viktor
Agree with Rafael, tutorial would be appreciated. Keep up the good work, arch module is very promising, thx for it! How many devs are working on it or is it your "only child"? cheer V.

permalink:  372   posted on 14.11.2013 23:38
From Viktor
Commenting post 366: I don't understand a word but it seems they write about you , congratulation!

permalink:  371   posted on 14.11.2013 16:20
From Yorik
Commenting post 370: Definitely... I think we are almost at a point I can do a good video tour of the arch module.

Notes can already be done with a trick, you can place texts then use the wire tool to add a leader line. These draft wires can take an arrow at one of their ends...

permalink:  370   posted on 14.11.2013 4:23
From Rafael
Commenting post 369: Great work!
What about notes?
what we need is a full tutorial for architecture in FreeCAD

in categories  freecad  permalink:  369   posted on 13.11.2013 22:35
From Yorik

FreeCAD Draft dimensions recoded

I just recoded the whole Draft dimension object, and it now behaves pretty well in non-horizontal planes. It also gained new arrow types, and several new properties to adjust their looks. Aditionally, the angular dimensions can now be placed on drawing sheets. Might not be 100% bug-free yet, but most usual cases should now work fine.

permalink:  368   posted on 13.11.2013 2:41
From Joe
Great Blog

permalink:  367   posted on 08.11.2013 10:09
From av consultant
Commenting post 222: I absolutely feel ecstatic when I find articles relevant to my work and my subject

in categories  inthepress  architecture  projects  permalink:  366   posted on 04.11.2013 20:33
From Yorik

Costa do Ipê na revista "Mar"

O nosso projeto para o shopping Costa do Ipê saiu na revista Mar, editada por Marc e Sílvia, os idealizadores do shopping:


“Um projeto generoso com a cidade de Marília e seus moradores.” É assim que os arquitetos Yorik van Havre e Maíra Zasso definem o Costa do Ipê Parque Shopping


“Esperamos que a arquitetura provoque e desperte sensações nos frequentadores”

Yorik van Havre e Maíra Zasso

A dupla de arquitetos – ele belga, ela gaúcha, ambos radicados há seis anos em São Paulo – teve como inspiração uma série de referências, em especial, o modernismo paulista. “Nós gostamos muito do contraste entre o concreto e as plantas, como se via muito na arquitetura modernista paulista”, diz Yorik.

Nas fachadas do centro comercial, os arquitetos incorporaram telas maleáveis que recebem trepadeiras que formam cortinas verdes, criando um horizonte verde tanto para quem está trabalhando nas lojas quanto para quem está visitando o lugar. “Encontrar uma cortina verde causa uma surpresa muito positiva e acolhedora para as pessoas.”, ressalta Maíra.

Esse princípio orgânico que rege todo o empreendimento está presente também na ocupação da área total, que segue uma escala humana e acolhedora. Os quatro volumes ocuparão apenas 6 mil de uma área total de 20 mil metros quadrados de terreno. “Não chegamos nem perto do limite máximo de ocupação. Dessa maneira temos um baixo impacto para a cidade. Também não haverá estacionamento subterrâneo e , assim, teremos pouca movimentação de terra” conta o belga Yorik.

Praças e jardins, que abrigam restaurantes ao ar livre também servem de espaço para apresentações de música e encontros. “ A ideia é que as pessoas caminhem livremente por entre os prédios. Há um percurso a ser descoberto, com elementos surpresa entre as áreas. Por exemplo, não planejamos uma única praça de alimentação, mas sim bares e restaurantes espalhados pelo complexo, explica Maíra. O shopping se revela como um ponto de encontro, um lugar com potencial para uma vida interessante e não apenas um centro de compras. “Esperamos que a arquitetura provoque e desperte sensações nos frequentadores”, complementa a arquiteta gaúcha.

Texto: Simone Fonseca

Foto: Ludovic Carème

permalink:  365   posted on 02.11.2013 17:34
From Leonardo Lira
Hey Yorik now in blender we can have parametric nodes check Sverchok add-on on blendernation

permalink:  364   posted on 31.10.2013 24:06
From farihul rouf
Commenting post 87: i like your post

permalink:  363   posted on 31.10.2013 14:24
From Yorik
Commenting post 362: I'm not sure I'll use it for animation already, because rendering takes quite some time... But once you get the hand of it, it is hard to get back to the internal engine...

permalink:  362   posted on 31.10.2013 11:28
From Viktor
Commenting post 360: So, have you switched to cycles definitely? p.s. nice renders

permalink:  361   posted on 31.10.2013 7:47
From Niklas
Thank you for your quick fix! I can't wait to try it.
Nice renderings, btw.

in categories  works  3d  blender  permalink:  360   posted on 30.10.2013 21:55
From Yorik

Office images

A couple of images for a project developed by Exode... Rendered with cycles.

permalink:  359   posted on 25.10.2013 23:22
From Yorik
Commenting post 356: By the end of the year I believe.

permalink:  358   posted on 25.10.2013 23:22
From Yorik
Commenting post 357: okay, thanks!

permalink:  357   posted on 25.10.2013 23:04
From Niklas
Hi Yorik. I posted my problem at sourgeforge..
/ The manual made with freecad is almost finished now. And Freecad did its work. I made most of the pictures just with the 'save picture' button, (Viewport Render) because it was the most efficient way. And the co-workers all said wow (i've to admit that 3d was a mystery before ) Anyway, I think it got quite nice! i'll post a link when my company publishes it. freecad is a really good tool, niklas

permalink:  356   posted on 23.10.2013 14:10
From Maciek
Commenting post 321: When can we expect stable 0.14 version release?

permalink:  355   posted on 19.10.2013 22:59
From Yorik
Commenting post 353: Thanks!
Wow! Great! If one day you can show us some sample, I'd be curious to see...

permalink:  354   posted on 19.10.2013 20:28
From Niklas
Don't laugh. I ment freeCad.

permalink:  353   posted on 19.10.2013 20:16
From Niklas
I'll post it there. But here is a good place to say I love Freecad! outstanding work! I came from maya and vectorworks and illustrator, and now there are tools like Blender, Freecad and Inkscape for everybody, and you can really work with it, that is fantastic... I'm also an architect, but right now I do woodworking design for my company, and my drawings out of feecad are going to the german TÜV.

permalink:  352   posted on 18.10.2013 22:46
From Yorik
Commenting post 351: Hi Niklas,
The best place to report bugs is on the FreeCAD bug tracker at
otherwise I'll forget too easily about this. Can you copy this there? It would be useful to get the whole error message too (there must be more than just that)...

permalink:  351   posted on 18.10.2013 22:27
From Niklas
Hi Yorik! I use the installers of Freecad 0.13 on Vista and Windows 7 and I always loose snap after a while. (type exeptions error). after that I can't draw anything by clicking in the 3dview. I also tried other versions but it's the same. Right now I fake assemblies by fusing parts and then if they are each 0,0,0 move them into place, rotation axis and so on. What should i do? I think snapping is The most important part of CAD. Maybe there is something wrong with my preferences or there is nobody else using this in windows...

permalink:  349   posted on 14.10.2013 1:36
From Andi D. A
Well, thank you Yorik
Now, I'll adventure in your blog first . a lot of resources I can learn here

permalink:  348   posted on 12.10.2013 9:43
From Matt M.
Commenting post 96: Thank you very much for all of your help here!! I am new to all this! I know some HTML and XHTML, so coding isn't entirely new to me, but, still, python appeared very intimidating. Your tutorial has helped me tremendously, and just increased my desire to learn much more!!

permalink:  347   posted on 12.10.2013 2:05
From Yorik
Commenting post 345: Hi Andi,
Cool! Basically all I do with free software (and also with architecture) is here on this blog... Feel free to ask if you want to know something specific.

in categories  freecad  opensource  permalink:  346   posted on 11.10.2013 19:35
From Yorik

Towards multilayer walls in FreeCAD

I think I found a quite elegant solution for multilayer walls. It is by no means a complete feature, but I think it gives us a very interesting start on the topic.

Basically I added an "Offset" property to walls, so they can be offsetted from their baseline. With this, several walls can be based on the same baseline, resulting in a multilayer wall:

A window can be added as usual, drawn on one of the faces of any of the "sibling" walls:

Upon creation, the window not only creates a hole in its base wall, but also in all the sibling walls (= walls based on the same baseline)

There are of course different issues to solve later such as what happens when a wall intersects a multi-wall, but for that we need more complete materials support, because everything will be decided depending on the material. I will also make the hole system better, allowing the user to add a custom shape to define the hole, so one can do more complex things such as having a different hole size for each of the layers of a multilayer wall.

permalink:  345   posted on 11.10.2013 17:35
From Andi Dwi Atmoko
hey Yorik, please allow me to introduce myself. I am a person who works in the field of design, as you know, architecture. And I like to use linux OS. like you've done. I like to learn from you if you let me to do it.
By the way, I am currently using ubuntu, is there any advice?


permalink:  344   posted on 10.10.2013 11:53
From Félix Fernández Escuredo
Commenting post 325: Magnificent work, I congratulate you and all those who actually make FreeCAD. I teach carpentry (drawing and workshop) and I’m teaching my students how little I know about FreeCAD management. I am delighted to have found a free 3D CAD software and although I know very little English, is in my mind somehow to working with you. Each update is important to me because my students always compared to proprietary software, however, thanks to his work that is beginning to change.

Thank you very much.

Note: This text is written with Google taductor.


permalink:  343   posted on 09.10.2013 10:04
From Brian
Commenting post 105: Hi Yorik, Just a note that with FreeCad.013, Windows 7 - can't find file anywhere.

permalink:  342   posted on 04.10.2013 7:59
From Aldi
Commenting post 336: Looks super!

permalink:  341   posted on 03.10.2013 19:26
From jmvillar
Thanks yorik.
I'll try

permalink:  340   posted on 03.10.2013 16:02
From Yorik
Commenting post 339: Hi jmvillar,
Unfortunately I'm not familiar with frenet and transition items.. If you want to transform object following math defined curves, I'm afraid this is still not implemented in FreeCAD... But in any case, you'd better head to the FreeCAD forum at , there you'll be able to get help from people more into that area than me...

permalink:  339   posted on 03.10.2013 8:43
From jmvillar
I am looking for info about part-sweep command and parameters. I can do some pretty solids, but I am not able to use frenet and transition items. Where are these documented?

permalink:  338   posted on 02.10.2013 24:01
From Marcos
Commenting post 314: Lol, thanks. So concise tutorial!

in categories  blender  3d  works  permalink:  337   posted on 02.10.2013 22:45
From Yorik

Fillsete animation - stills

A couple of still images from the animation below...

in categories  blender  3d  animations  works  permalink:  336   posted on 02.10.2013 22:39
From Yorik

Fillsete animation

The latest animation we made, all modelled and rendered with blender. Project by Espaço Projetos.

See still images here.

permalink:  335   posted on 02.10.2013 18:35
From Marcos
Commenting post 282: Nice game. Thank you.
It is possible to chance the wood textures before and after the camp fire initiate? Btw, the texture used is very cool (like coal wood).

permalink:  334   posted on 29.09.2013 1:15
From Yorik
Commenting post 333: Hi Alexandre,
Hm unfortunately I have no solution for that.. I think that rather than scaling the whole object, I would maybe move its faces or vertices in edit mode, if your object is not too complex, it should be quite fast anyway...

permalink:  333   posted on 28.09.2013 21:13
From alexandre guerra
hi yorik
thanks for reading my question
Im doing some furniture prototypes in blender, but im looking to scale the objects without changing the thickness for the objects.... the way i work is to create many single boxes with fixed depth and then group them.
The problem is that when resizing , the objects doesnt lock on their vertices properly, or the fixed depth doesnt work as expected...

do you have some tips on this?


permalink:  332   posted on 28.09.2013 12:56
From firehorse
Commenting post 116: Two projects that should go together!

that would be perfect

in categories  linux  blender  opensource  permalink:  331   posted on 18.09.2013 17:05
From Yorik

Update on building Luxrender

This is more a note for myself. This is an update of my original post about building Luxrender on debian:

The original instructions are still valid, with the following changes:

- instead of "make luxrays", we can now do only "make" (needed because smallluxgpu will also be built then)
- no need to add the deprecated opencl directive anymore
- install package ocl-icl-opencl-dev (will remove nvidia opencl libs)
- set path to libluxrays.a and libsmallluxgpu.a with cmake-gui when building lux

permalink:  330   posted on 17.09.2013 20:45
From t
Commenting post 105: t

permalink:  329   posted on 17.09.2013 14:17
From Yorik
Commenting post 328: Hi Neshen,
Yes it is possible, although it can be difficult when sweeping profiles. There is a "helix" option in Part -> Create Primitives. I'm afraid there is no real tutorial about that, but these two topics on the FreeCAD forum should help:

permalink:  328   posted on 17.09.2013 6:10
From Neshen Armoogum
Hi, Am trying to draw a screw conveyor on freecad. Is there any tutorial for that and also if its possible to draw a spring or a helical shape in freecad. Thank you for your time.

permalink:  327   posted on 16.09.2013 12:29
From Kees
Great improvements!
I'm loooking forward what Santaclaus is going to bring us with 0.14..

permalink:  326   posted on 13.09.2013 22:50
From Ejnaren
Commenting post 325: Congratz Yorik + Team... You are getting there..! I Know its not yet but this makes meI dream of changing from ACad and Revit to a full Open Source workflow with Freecad.

in categories  freecad  opensource  permalink:  325   posted on 13.09.2013 20:03
From Yorik

FreeCAD Arch module development news

It's been a long time I didn't post any update about the Arch module here, but that doesn't mean nothing has happened! It has been about 8 months now since FreeCAD's release 0.13, and release 0.14 should happen around the end of the year. It depends mainly on Jürgen's Assembly module, which now is being contributed to not only by Jürgen himself but also several other people (the branch can already be compiled and tested, if you are brave enough).

On my side, I've been working mainly on 3 things: 1) a couple of improvements to the Draft module, so it becomes easier to use for pure 2D (remember, not the focus, etc, etc... but can be useful here and there anyway), and I plan to add a coule of more tools so you can have a basic autocad workflow there. 2) the spreadsheet module and 3) new Arch objects.

What is implemented so far, besides what I showed in this post about 2D workflow in FreeCAD is this:

Draft hatching

The Draft module now brings basic hatching in the 3D view:

Draft objects have received a "Pattern" property, which list the 5 default patterns of the Draft module (more to come) plus any custom pattern you might have installed via the Draft preferences. Those patterns are simple svg files, that are turned into transparent textures and applied to the object. If these svg files contain <pattern> attributes, those are used when placing the Draft objects on a Drawing sheet, so the pattern you set in the 3D view gets printed too.

There are still opengl-related problems (the visual artifact you can see on the screenshot), which also appear in other areas of FreeCAD that use transparent textures, that we must fix at some point, but it begins to look good, and making such svg patterns is very easy, so it can be easily extended.

The spreadsheet module

A new workbench is born, with a new object: the spreadsheet:

It is a very simple object, that lives inside the FreeCAD document, and can hold cell contents (a1="yorik", b2="1.93m etc...). It has a simple parser that can evaluate expressions like "=b3*5", like it is commonly used in spreadsheet applications. That object can also be used as a pure python object, with no relationship to FreeCAD.

When editing a spreadsheet object, a spreadsheet view opens, like shown on the screenshot above. Every change you made is saved on the fly, so when finished, you just close the tab.

That spreadsheet object is very simple, very dumb, and is intended that way. We won't recreate a spreadsheet application here, the idea is just to be able to handle spreadsheet data (and save it inside a FreeCAD file).

Another object provided by the spreadsheet module is a cell controller. A cell controller is an object meant to be nested inside a spreadsheet object, and takes control over a series of cells, filling them automatically with values. These values can be taken from the FreeCAD document, and can cover a wide range of uses such as counting objects of a certain type or getting a certain property from certain objects. In the screenshot below, one cell controller extracts the name of all shape-based objects of the document, the other extracts their volume.

The spreadsheet module was coded in python (my very feeble C++ superpowers, as always...) , but a courageous FreeCAD user has already undertaken to convert it to C++, so it becomes more stable, faster, and last but not least, usable by non-python workbenches of FreeCAD.

Arch structural profiles

The structural element of the Arch module has also received some work. The can now have an automatic profile from a simple mouse click (most standard steel beams profiles are there, courageously encoded by the FreeCAD community):

Those structural elements can now also take a wire as extrusion path:

Arch space

A new long-awaited object has appeared in the Arch module: the space.

It works like this: A space always encompasses a solid volume. You can define it from an existing volume, or from bordering faces, or both combined. If you define it only from bordering faces, it is calculated by taking the bounding volume of all those faces, and subtracting what's behind the faces. So we make sure to always have a solid volume. It can also display the floor area (using the "detailed" dislay mode), by taking an horizontal section of the space at its center of mass.

You can also build walls from space faces:

I am not sure this is so useful as it looks, but many people requested to be able to do that, "model with spaces"... To me it looks more like an academic dream, but I'll be happy to be proved wrong.

Arch stairs

Stairs have also been born:

Currently you cannot do very complex stairs, only straight stairs work, but they can already be based on a line, or on nothing at all, in which case you define all parameters numerically. If you use a line as a guide, that line can also be non-horizontal, then it is used to also define the slope. Many properties are already working, such as defining the thickness and nosing of threads, and the structure, that can be massive (concrete) or made of stringers:

I plan of course to add more complex stairs type, but then we will be entering deep and horrible math calculations, from which nobody has ever come back alive...

That's all for now I'm afraid, hope you liked, check the FreeCAD page for ways to be kept informed (google+, facebook, etc) about what happens in the FreeCAD world. And drop on our cool and friendly forum for deeper talk!

in categories  idsampa  architecture  projects  permalink:  324   posted on 11.09.2013 24:01
From Yorik

Proposta para o Parque Augusta

Esta é uma proposta para um terreno muito controverso em São Paulo, conhecido como “parque Augusta”. Esta proposta não foi pedida por ninguém, nem é destinada a ninguém. É apenas uma visão nossa, que compartilhamos.

Existem grandes interesses comerciais e corporativos em cima desse terreno, por causa do seu tamanho e da sua excelente localização (perto do centro, perto da rua Augusta, perto da avenida Paulista). Do outro lado, existe um movimento popular já bem organizado tentando transformar esta área em parque público.

A briga por esse terreno já é bem antiga, no blog acima e nos outros sites que ele indica tem bastante material sobre o assunto. Aqui está o que pensamos a respeito:

1. O terreno tem uma enorme área coberta com árvores antigas, que deve sem nenhuma dúvida ser preservada. Um pedaço de “mata” como esse em pleno centro de São Paulo é valioso demais para a cidade e por isso deve ser usado por todos.

2. Confiar em alguma empresa para proteger essa área é altamente arriscado, mesmo obrigando ela a proteger a vegetação (o que já é o caso). É muito fácil eles contornarem a lei e removerem pedacinhos “acidentalmente”, sobretudo visto que cada metro quadrado construível tem um valor muito alto.

3. A localização é boa para empreendimentos imobiliários, mas não muito boa para um parque. A razão principal é que tem muito poucas pessoas circulando em volta dele, pouco comércio e ruas quase desertas (fora a rua Augusta, claro).

4. Já existem vários espaços públicos muito bons muito perto (praça Roosevelt, praça Dom José Gaspar). A praça Roosevelt recentemente passou por uma reforma que achamos exemplar, e o risco é muito alto de prejudicar a nova vida dela.

5. Querer que a prefeitura assuma (desaproprie) o terreno para que ele vire um parque não nos parece muito sustentável... Cada vez que temos um problema na cidade vamos precisar da intervenção divina do prefeito? Um pedaço de cidade deveria poder evoluir no bom sentido sem precisar de uma operação médica para mantê-lo vivo.

6. O principal problema das empresas é que enxergam esse terreno como uma montanha de dinheiro. Elas pensam: “imaginem quantos mil metros quadrados poderiamos construir ali”. Portanto, ninguém está interessado em construir algo pequeno. “Porque se contentar com uns trocados quando se pode obter milhões?” Agora, se o tamanho máximo de construção fosse fixado por lei em algo muito baixo (por exemplo, que se possa contruir em até 20% do terreno), o máximo possível não seria mais esses milhões, e esses “trocados” não pareceriam assim tão pouco...

7. Todo o “fundo” do terreno é um campus da PUC. Se tivesse um acesso entre a PUC e o terreno, permitiria que as pessoas pudessem atravessar até a avenida da Consolação, o que mudaria muito a situação, e um parque começaria a se tornar viável.

Esta proposta nossa é baseada em isso tudo. Pensamos que essa área deve sim virar um parque, e deve ser público. Mas também deve “se virar sozinho” e ser bem diferente da praça Roosevelt, para não competir com ela.

Propomos dividir: destinamos uma área (tracejado vermelho abaixo), de 25 metros de largura, junto à rua Augusta, deixando uma calçada bem larga. Somente nessa área seria possível construir, permitindo uma ou outra excepção, por exemplo, para alguma função que não caberia em 25 metros, como uma sala de espetáculo ou um cinema. Os blocos construidos podem conter qualquer coisa, e ter qualquer forma, e seriam baixos (no máximo 3 ou 4 andares).

O verde escuro, no desenho acima, é a vegetação existente. O verde claro seria complementado, e permitiria fazer várias experiências ecológicas. O impacto construído seria mínimo, mas suficiente para gerar renda, para que alguma empresa decida construir o projeto. Shopping malls com este tamanho existem em todo lugar, o que prova que pode ser lucrativo sim.

Provavelmente São Paulo não precisa de mais um shopping mall, portanto imaginamos algo mais complexo: Uma mistura, um empilhamento de todo tipo de funções: Uma maioria de lojas, claro (é dali que viria a renda do empreendedor, e a rua Augusta é uma rua muito comercial), mas ali também poderiam caber hubs (como este), oficinas e salas no estilo da casa de Cultura Digital, uma creche ou escolinha (tinha uma quase na frente, que foi demolida), uma sala de espetáculos/auditório/cinema que possa ser alugada (aparentemente essas salas fazem muita falta em São Paulo), ou qualquer atividade pública que a prefeitura possa querer por na região (caso eles se empolguem tanto que queiram participar do projeto, quem sabe).

O importante é que sejam funções que tragam pessoas para o parque e ao mesmo tempo se beneficiem das pessoas que estiverem lá, criando uma sinergia entre a parte de parque e a parte construida. Essa é a justificativa principal dessa proposta.

Essa proposta certamente não tem nada de revolucionário. Alias, é uma solução bastante simples e comum. Mas às vezes elas funcionam muito bem...

Mas existem certamente muitas outras ideias diferentes. Um presente bem legal para esse terreno, seria um concurso de arquitetura, onde todos pudessem propor ideias. Com certeza, soluções muitissimo interessantes sairiam de lá.

Enquanto isso, o material que elaboramos nesta proposta está disponível aqui (arquivo do Gimp), com licença Creative Commons. Tem também uma versão pdf deste artigo aqui. Remixe, acrescente a sua, e não deixe de por as suas críticas nos comentários!

in categories  animations  blender  permalink:  322   posted on 11.09.2013 20:48
From Yorik

Costa do Ipê - remixed video

A remix I made of the Costa do Ipê video we made some time ago. Better colors, and an experimental soundtrack...

in categories  freecad  opensource  permalink:  321   posted on 06.09.2013 15:37
From Yorik

FreeCAD 2D import

I made recently a couple of improvements to the Draft module of FreeCAD to ease the dwg import -> rework -> svg export workflow. This came after soem frustration with DraftSight, which doesn't print linewidths correctly when you are using layers to define linewidths, instead of old-fashioned colors and ctb files.

In FreeCAD, on the other hand, we now have quite precise control over that, and dxf/dwg import is becoming quite reliable. If - this is very important - your drawing is clean and well made (no overlapping lines, few layers, as many polylines as possible), there is almost no work needed in FreeCAD to render quite nice drawings. Basically, everything depends on the quality of your drawing. Bad drawing, bad performance in FreeCAD.

The following example is a sample of a plan I've been doing of an existing building, drawn in DraftSight:

That drawing has less than 10 layers, and all the walls (white lines) are polylines. To quickly make polylines in draftsight (and autocad), and close them where possible, isolate your layer, enter pe (Polyedit), m (multiple), select everything, enter, then j (join).

If you have the Teigha File Converter installed on your machine, you can now configure the path to its executable in the Draft preferences, and have FreeCAD import DWG files directly (it will internally convert them to DXF then import them with the standard dxf importer). If you did what I explained (clean, organized drawing), the import is fast and efficient (no error):

You have several options in the Draft preferences (this is the default). I added a new option to create Draft clones from dxf blocks, which reduces the filesize of the resulting FcStd file to almost the same as the input dxf file, and facilitates handling, because all clones use the same base shape. The base shape itself (the block definition) is there, but hidden.

Since imported objects are grouped by layer, although FreeCAD groups have no controls like autocad layers, it is easy to select all the contents of a group (right-clicking on them, in the Draft module, there is an option to select the contents), and change properties such as linewidth or draw style (hidden, dashdot, etc):

I also modified the Draft-to-Drawing tool so you can now use it on groups. So selecting the 6 groups in this drawing and pressing the Draft Drawing tool immediately places everything on a sheet, but creates only 6 view objects in the Drawing page, which makes it very easy to place them properly on the page, and set things like linewidth:

Since I made sure walls were closed polylines, they are imported as filled objects (faces). If you leave them in "Flat lines" display mode, these faces can be colored or hatched:

There is a new system to show hatching directly in the 3D view, but it is still buggy. On the Drawing page, on the other hand, it already works pretty well. It doesn't appear in the Drawing viewer (a limitation Qt), but if you press the "view in browser" button, the page is opened in the FreeCAD browser, which is based on webkit, which is among the best svg viewers available. There, the rendering is just perfect:

From there, all we need to do is export the page to a svg file, open it in inkscape to make a pdf file. FreeCAD also has a print dialog to print a pdf from the Drawing page, but it uses your system's pdf printer. Inkscape, however, is really the state of the art in that matter, and makes 100% perfect pdf prints.

Obviously you will stil find glitches, bugs and problems here and there, FreeCAD is still in early development after all, but we are slowly arriving to some usable-in-production state. Even using FreeCAD as a 2D CAD application like Autocad or Draftsight is not - and probably will never be - the focus, that doesn't mean that doing 2D with it will be bad or impossible. My aim is - like, i hope, most architects - to free myself of 2D drafting, as much as possible, but at the same time I know we'll still need to live with 2D for a long time, and maybe if we can reduce that 2D work to something minimal, then it can fit perfectly within FreeCAD's possibilities...

I also did some work on the Arch module, other post to come soon...

permalink:  320   posted on 06.09.2013 13:37
From Yorik
Commenting post 319: Nope, those were pure 2D, we used draftsight...

permalink:  319   posted on 06.09.2013 11:02
From TynkaTopi
Commenting post 318: What software did you use to make those drawings ? Freecad ?

in categories  works  detail  permalink:  318   posted on 06.09.2013 2:17
From Yorik

Execution drawings

Some execution drawings we have done with Mário Francisco for a residential project in Brazil...

in categories  works  wordpress  permalink:  317   posted on 06.09.2013 2:13
From Yorik

Mario&s site

A clean and minimalist wordpress theme we have been doing for our friend Mário Francisco.

in categories  works  3d  blender  sketches  permalink:  316   posted on 06.09.2013 2:10
From Yorik

More hand + cycles images

A couple of new images, rendered with cycles with very basic volumes and materials, and finished by hand with the gimp. The project is by Adriana Furst.

permalink:  315   posted on 05.09.2013 23:39
From Rafael
Thanks for this amazing tutorial. I'll share this post. Good work and go ahead.

in categories  blender  opensource  permalink:  314   posted on 04.09.2013 22:38
From Yorik

Python for architects - Part 2: Blender

This is a series of 3 tutorials for architects who wish to use opensource 3D tools (mainly Blender and FreeCAD more effectively, or simply who are curious about programming, and would like a gentle introduction. This is the second tutorial, explaining how to use python inside Blender. Read also the Part 1: introduction. The third part (about FreeCAD) is yet to be written.

This second part assumes you read the first one, or that you have at least a very basic understanding of the Python language. It will focus on Blender, and show with simple example how python can be useful, and what you can do with it in Blender. This tutorial doesn't assume that you have any experience with Blender, but if you haven't any at all, be prepared to need to go look elsewhere for reference, specially on the Blender wiki, since most trivial steps won't be explained here.

The Blender Python editor

Blender, like FreeCAD, is a python beast. Although it is mainly programmed in the C language, since version 2.5, the python API (which is basically the python tools that blender provides) allows you to access and modify almost anything in Blender, including all the data of your model (scenes, objects, mesh data, lights, materials, textures, nodes, animation, etc...) and the blender interface itself (3D view, buttons windows, menus, etc...). In fact, today, many of the features of Blender are entirely programmed in python. So you can basically modify objects, create objects, and create tools with your own controls that will appear wherever you want in the Blender interface. And finally, if you do something awesome, you can pack your script as an addon, and distribute it to other blender users.

The very first thing to do to start playing with python in Blender, is to open the python console, by subdividing one window and setting it to "Python Console":

This is a python console that behaves exactly like the standard python terminal we used in the Part 1 : Introduction. Except that it has a few more goodies: Special keyboard shortcuts, like it is written when you start the console, and some modules are already conveniently imported for you (remember about importing modules in Part 1?), especially the module called "bpy", which contains about all that blender offers to python. So normally you should start any blender python script with:

import bpy

But in this console it is not necessary. Another very important window is the text editor:

This one serves to write text (or python scripts of course), and behaves a bit like any text editor like notepad, except that it can show line numbers (useful when python tells you there is an error on line X) and can paint special python words in another color, very comfortable to read your script.

When writing python scripts, have always both windows open, so you can test stuff in the python console, and copy/paste it (and save it) to the text window when you are sure that it works.

The python scripts you write in the text editor stay saved inside the blender files when you save them, but can also be saved in separate .py files. Usually I keep my scripts inside a blender file while I am developing them, and when they work perfectly I export them as .py files.

A last cool trick, CTRL + wheel mouse will zoom the text inside both python console and text editor, like most other blender windows.

Accessing and modifying existing objects

One of the first uses you'll want to do with python is to manipulate existing objects, that you have been drawing with the user interface controls. Let's for example, access the contents of our 3D scene, and list the objects contained in it. For this, we'll use the primary and most used element of bpy: the context.

The context means basically: "What is currently on stage". It will contain the current scene, the current selected object, the current view, the current state of the interface, etc. You got the picture. Remember you can always explore the contents of any python object with the dir() function. Here we'll take our current scene, and list the objects inside:

scene = bpy.context.scene
for o in scene.objects:
    print o

And it gives you this:

Now we know we want the cube. There are several ways to access it inside the current scene. The easiest is to get it by name:

cube = scene.objects.get("Cube")

But we could also select it with the mouse, then simply get the active object :

cube = bpy.context.active_object

There are always many ways to achieve something in Blender, just for the fun let's try, for example, to take all the objects of the scene and filter out those which are not meshes (the lamp and the camera):

for o in bpy.context.scene.objects:
if o.type == "MESH":
    cube = o

Remember, dir() is your friend, for example it showed me what's inside objects, so I could find the "type" property. It is also very common practice in python to document classes and functions, so you can normally expect that everything has a __doc__ (that 2 x 2 underscores) that tells you what that thing serves for and hopefully how to use it. For example:


You might have noticed that the Python console also has an autocomplete system, so when you are in the middle of typing the above command, you can at any time press Ctrl + Space to show possible completions of what you're typing. If you use that just after the "visible" word, you'll see that autocomplete shows you the contents of the __doc__.

Also don't forget there is always the complete API documentation online.

But let's get back to our example. Now that we got our cube, let's examine the contents of its Mesh (remember the len() from Part 1?):

me =
print (len (me.vertices) )
print (len (me.edges) )
print (len (me.polygons) )

Nice, isn't it? Let's see the coordinates of each vertex:

for v in me.vertices:
    print (

If you know Blender well, even without knowing Python, you already know that mesh-based objects contain mesh data, which contains vertices, edges and faces, and you know that vertices have coordinates. All this helps you when exploring the contents of the python structures inside the bpy module.

Now let's be bold and try something audacious:

v = me.vertices[0]
print (
print ( = 5

"Amazing", you must be thinking. Indeed Python allows you to change about any property of anything in Blender, in real-time, no further operation required. In older versions you had to work on a copy of the mesh, then replace the mesh by its copy. Thanks to the big python-friendly recode that occured in version 2.50, things are now much easier.

Now let's study a bit better how Blender mesh are structured in python. We already saw that our mesh data contains subelements called vertices, edges and polygons. These elements can also inform you of their vertices. But instead of giving you a vertice object, they give you the index number of those vertices in the general list of vertices of the mesh:

face = me.polygons[0]
for v in face.vertices:
    print (v)

The above code shows you 4 numbers, which are the index numbers of the 4 vertices of that face. With those numbers, we can get the actual vertices from the vertices table:

for v in face.vertices:
    print me.vertices[v].co

The reason why things are like that is obvious: A same vertex can be shared by several edges or faces. So it is easier to have them stored at one central place, and then reference them as needed inside the mesh structure. Most mesh-based 3D applications do that. If we want, for example, to move a face, we actually move all its vertices:

for v in face.vertices:
    coordz = me.vertices[v].co.z
    coordz = coordz + 1
    me.vertices[v].co.z = coordz

A note about vectors

You already know that points in the 3D space have x, y and z coordinates, right? In mathematics, such group of 3 numbers (or more) is called a vector. You certainly heard about that at school (I know, you forgot)... Anyway, when dealing with programming in 3D, vectors are everywhere. You can do awesome things with vectors, multiply them, add them, find perpendicular directions, etc...

If you want to refresh your vector math skills, have a look for tutorials on the internet (I might try to do one too one day), it will be precious when you need to perform more complex operations on vertices. Blender also has a special module with tools to help you to perform operations on vectors (cross products, etc...):

from mathutils import Vector


The tools that Blender offers you to manipulate objects go far further than simply allowing you to access their components. Almost all the tools available on the User Interface are also available to the python scriptwriter. The python version of those tools is called -in Blender slang- an Operator. So all usual things such as moving an object, performing boolean operations, etc... are available in a compact, single-line way. Most of them behave the way their corresponding GUI tool behave, that is, they act on what is currently selected. That is, our famous context.

Operator are all stored inside bpy.ops, and they are grouped by category, such as object or mesh, depending on what they act on, being whole objects or their subcomponents.

For example, this moves the selected object(s) 2 units in the X direction:


This scales it 2 times in the X direction:


This enters edit mode, goes into face select mode, and selects a face of our cube:

me.polygons[0].select = True

This deletes the selected face:


I suppose now you saw how it works and how useful it can be. And also how much you need to know in order to use them! Don't worry too much, though, it is fairly easy to find your way between all the operators, and how exactly they must be used, thanks to the Blender python console's autocomplete feature (Ctrl+Space). Try for example writing this, then pressing Ctrl+Space after ops. , after object. , and after mode:


Adding data

Now that you begin to see how things work, adding basic objects can be as simple as this:


In the mesh section you'll find other default primitives to add. But this is a bit too simple, isn't it? We would like to have more control over the object we want to add. A better path would be to respect the way Blender objects are constructed: First we add the data, then we create an object to contain the data, then add (link) the object to the current scene:

scene = bpy.context.scene
lamp_data ="New Lamp", type='POINT' )
lamp_object ="New Lamp", object_data=lamp_data)
lamp_object.location = (5.0, 5.0, 5.0) = True = lamp_object

The code above (borrowed from here) shows very well how things work internally. You can do exactly the same with a mesh instead of the lamp:

mymesh ="New mesh")

We now have an empty mesh (no vertices, no faces), that is not bound to any object,but it exists in memory. We can for example add geometry to it, then when it is ready, we'll add it to the scene. What about constructing a pyramid? Let's make a pyramid that is centered on the origin point (0,0,0). Its base would be a square of 4x4 units, and its top would be at a height of 3 units:

# first we define the 5 points of our pyramid: the 4 corners of the base, and the top point
p1 = [-2,-2,0]
p2 = [2,-2,0]
p3 = [2,2,0]
p4 = [-2,2,0]
p5 = [0,0,3]
verts = [p1,p2,p3,p4,p5]
# no need to define the edges, they will be created automatically
edges = []
# then we define the 5 faces: the base, and the 4 triangles. 
# We need to give the position of each vertex in the list:
f1 = [0,1,2,3]
f2 = [0,1,4]
f3 = [1,2,4]
f4 = [2,3,4]
f5 = [3,0,4]
faces = [f1,f2,f3,f4,f5]
mymesh.from_pydata(verts, edges, faces)
# we always need to do this after adding or removing elements in a mesh:

The from_pydata method is a very convenient way to create a mesh from scratch in one sole operation, but you can also do it a more detailed way by adding the verts to mymesh.vertices, and the faces to mymesh.polygons (see here). When our mesh is ready, the last thing to do is to create an object from it, and add it to the scene:

obj ="Pyramid", mymesh)

Removing data

Removing data is even easier than creating. To delete an object, you just have to unlink it from its scene. Next time Blender will save the file, the unused data (in this case, our object, if it is not linked by any scene), will be deleted automatically (this is the same behaviour as when you delete an object from the GUI):

scn = Scene.GetCurrent()
myobj = Object.Get("Pyramid")

When we want to removing subelements (vertices, faces) from an object, we face a bigger problem, the same as when modifying something: How to know which face to delete? We saw that the faces in the list of faces can be accessed by index number, but how do we know which number corresponds to which face in the mesh?

The blender API itself responds this question: If we explore the contents of the mesh data, we notice that vertices and polygons have add() functions, but no delete() functions. You don't delete subelements like that in Blender. You select them first, then delete what is selected, all with operators:

First, we deselct everything in the scene, and set our object as the active object:

obj = bpy.context.scene.objects['Cube'] = True = obj

Then we deselect everything (because some faces might be selected already), and select the first face. Warning, in Blender you HAVE to be in object mode to mark subcomponents as selected. I know, it seems very illogical, but it's the way it works...

bpy.ops.object.mode_set(mode = 'EDIT' )
bpy.ops.object.mode_set(mode = 'OBJECT' )[0].select = True

Then, all we need to do is enter edit mode again, and delete (using Face mode, of course.)

bpy.ops.object.mode_set(mode = 'EDIT' )
bpy.ops.object.mode_set(mode = 'OBJECT' )

But as I wrote above, the big difficulty is to know which one is polygon[0]. So in a real-world case, probably you will already have the faces to be deleted selected, so you would only use the 3 lines above to delete them.

Making an operator

Now that we are quickly becoming experts at manipulating Blender data, let's imagine we have an operation we repeat often, and want to create an operator with it, so we don't need to retype all the sequence everytime, we can just call our operator, one line of code, and it's done!

To make an operator is not difficult when we already know what it will do and how to do it. For example, let's say we want to make an operator that deletes the first face of a selected object. Easy, we just did this above, right? Then, to define an operator with it, we'll just need to pack the above code in a special structure. For this, it is better to use the text editor (see above), because we don't want to execute the code line by line, we want to save it and execute it in one block later (yes, I'm already also thinking to use it as an addon later!)

First, don't forget that the bpy module is only imported by default in the console. Everywhere else, we need to import it:

import bpy

Then we can create our operator:

class Delete_first_face(bpy.types.Operator):
    bl_idname = "mesh.delete_first_face"
    bl_label = "Deletes the first face of the active object"
    def execute(self, context):
        obj = bpy.context.active_object
        bpy.ops.object.mode_set(mode = 'EDIT' )
        bpy.ops.object.mode_set(mode = 'OBJECT' )[0].select = True
        bpy.ops.object.mode_set(mode = 'EDIT' )
        bpy.ops.object.mode_set(mode = 'OBJECT' )
        return {'FINISHED'}

Simple, no? With the keyword "class", we defined a python class. I won't enter the details (read here to know more), but think of it as a kind of blueprint that can be used to create objects (python objects, not blender objects). Those objects inherit what we define inside the class. Here, the important parts to understand is that we create a custom class that we called "Delete_first_face", and it is a modified copy of another existing class, called bpy.types.Operator. The blender developers have created that class exactly for that purpose, to be used by scriptwriters like us as a base for their own operators.

So we really need to add very few info to such class: define a couple of parameters, such as bl_idname, which is the name of the operator (where it will live inside bpy.ops), and a more human-friendly description of what it does. Then, one last piece has to be defined, the most important, what will that operator do? That is what goes inside the execute() function. All operators have that function, it gets executed when the operator is called somewhere. So all we need to do is put our code inside, and finish with return {"FINISHED"}.

Now that we have our operator, we need one last bit: add it to the list of Blender operators. For that, we do this:


After that, simply run the script inside the text editor (Alt+P), and our operator will be available in the console:

Of course this is a very simple example. If you close blender, the operator is gone, and we'll need to run this code again. But that is why addons exist, we'ĺl come to that now.

One last thing, the blender text editor has several easy-to-use templates to create such operators quickly. Look in the "Templates" menu of the text editor...

Making an addon

Making an addon can be something very complex. Here is a very good tutorial on creating a more complex one. Here, we will do simple: We will just reuse our operator above, transform it into an addon, and add an item to the "Object" menu in Blender. I realize now that we should have called our operator object.delete_first_face instead of mesh.delete_first_face, so we will correct that too. To turn our script above into an addon, we first need to add a header with some info:

bl_info = {
    "name": "Delete first face",
    "author": "Yorik van Havre ",
    "description": "Deletes the first face of the active object",
    "version": (0, 1),
    "blender": (2, 5, 8),
    "category": "Object",
    "location": "Object > Delete first face",
    "warning": "",
    "wiki_url": "",
    "tracker_url": ""

If we are going to distribute our addon, it's a good idea to also include a license text. GPL is a good choice. it is the license used by Blender itself. Then we add our operator itself, and a couple of additional functions to register it and add a menu entry. Also I modified the class name to respect the convention that other blender addons are using. The complete code looks like this:

bl_info = {
    "name": "Delete first face",
    "author": "Yorik van Havre ",
    "description": "Deletes the first face of the active object",
    "version": (0, 1),
    "blender": (2, 5, 8),
    "category": "Object",
    "location": "Object > Delete first face",
    "warning": "",
    "wiki_url": "",
    "tracker_url": ""
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

import bpy

class OBJECT_OT_delete_first_face(bpy.types.Operator):
    bl_idname = "object.delete_first_face"
    bl_label = "Deletes the first face of the active object"
    def execute(self, context):
        obj = bpy.context.active_object
        bpy.ops.object.mode_set(mode = 'EDIT' )
        bpy.ops.object.mode_set(mode = 'OBJECT' )[0].select = True
        bpy.ops.object.mode_set(mode = 'EDIT' )
        bpy.ops.object.mode_set(mode = 'OBJECT' )
        return {'FINISHED'}
def add_operator(self, context):
    # Register our operator
    self.layout.operator(OBJECT_OT_delete_first_face.bl_idname, text="Delete first face", icon='PLUGIN' )

def register():
    # Add our operator to the "Object" menu

def unregister():
    # Remove our operator from the "Object" menu

if __name__ == "__main__":
    # This allows us to import the script without running it

Then, we can run that script from the text editor (Text -> Run script, or Alt+P). It will not be permanent, but we can check if all went okay. If no error arises, and if the script does what it is meant to do, then we can consider it finished, and install it permanently, from the Preferences screen (addons -> from file...)


That's about it for this tutorial, I hope you liked, don't forget to leave a comment! Next one will be about FreeCAD!

permalink:  309   posted on 02.09.2013 17:42
From Yorik
Commenting post 308: Unfortunately the latest version that worked was 2.49.. When they made the big switch to 2.50 they used exclusively python3. Which I understand, because 2.50 was a big change, and they didn't want to do all the work again later. I already had a look at porting freecad to py3, but it's a huge work, many things have to change internally (all strings are unicode, etc...)

permalink:  308   posted on 02.09.2013 17:21
From Thorsten
Hi Yorik,
On what versions of FreeCAD and Blender the script was running?


permalink:  307   posted on 01.09.2013 16:52
From Yorik
Commenting post 305: Hi Thorsten,
Unfortunately it doesn"t work at the moment becuase FreeCAD doesn"t support python3, and Blender is python3-only... At the moment your best solution is to use the OBJ format between FreeCAD and Blender, which works quite well...

permalink:  305   posted on 01.09.2013 10:42
From Thorsten
Commenting post 105: I'm not able to get it running. Can you help out to set it up so it will work.
My machine is running with win XP.


permalink:  304   posted on 28.08.2013 14:03
From Yorik
Commenting post 303: Hi Rafael
Yes, I saw it on librearq... Currently it looks like it is still windows-dependent, but the project seems quite active... It will be very interesting to follow. Thanks for the tip!

permalink:  303   posted on 28.08.2013 3:03
From Rafa
hey, Yorik! Have you known about SolveSpace? A new parametric 2d/3d CAD with GPL licence...
maybe you can integrate it into FreeCAD

permalink:  302   posted on 27.08.2013 14:53
From Yorik
Commenting post 301: Hi! Actually the script has now been integrated with the official "Render wireframe" addon, where it is kept up-to-date...

permalink:  301   posted on 27.08.2013 12:58
From Oroko Ngayashi
Commenting post 73: First: Thanks for the script!

When I ran it in Blender 2.68 it threw an error:
'Mesh' object has no attribute 'faces'

I found that in the lines 213 an 214 one has to change "me2.faces..." to "me2.tessfaces...".

Maybe update the script?

But again, thanks!
I was close to desparation before I found this...

permalink:  300   posted on 26.08.2013 12:31
From AB sathish
when i give cut tool for selecting 2 objects the object wil hide. but the cut tool is enable in

permalink:  299   posted on 26.08.2013 12:29
From AB sathish
i cant work with boolien in freecad.. help me

permalink:  298   posted on 19.08.2013 20:31
From João Dias - Brasil
Commenting post 149: Great project. Wonderfull.

permalink:  297   posted on 19.08.2013 16:27
From Yorik
Commenting post 296: Hi Kees,
There are no FreeCAD meeting anywhere yet, as far as I know (we ourselves have only done one)... But reprap is another thing, much more widespread, it is very probable that there are some groups in the Netherlands... I can't tell you more unfortunately.

permalink:  296   posted on 19.08.2013 16:05
From Kees
Hi Yorik,

Do you know if there are meetings on FreeCAD and/or Reprap 3D printers in the Netherlands?

permalink:  295   posted on 15.08.2013 14:16
From Yorik
Commenting post 294: Yes, there is an "advanced" button on the image export page, there you have more options such as set a higher resolution. Also in Edit->Preferences you can turn antialiasing on, which also improves the quality.

permalink:  294   posted on 15.08.2013 9:26
From Pedro
I have a model in freecad and I save an image, but has poor quality, is there any way to get a higher resolution.
Thanks for your time

permalink:  293   posted on 01.08.2013 14:18
From Yorik
Commenting post 292: Hi,
It was basically made to draw 2D objects, exactly like autocad or draftsight. Since freecad is primarily made for 3D, however, the draft module was never pushed as far as those commercial apps, and you'll certainly find many features missing if you compare with them. But if what needs to be done is relatively simple, I would say it should get the job done. And you can always export to dxf and continue in another app if you bump against the limitations of the draft module, the compatibility is fairly good.

I am also currently working on some minor features that were missing since a long time, like hatching support and stretch, that should be added pretty soon.

permalink:  292   posted on 01.08.2013 13:57
From neshen
Hi, can you please clarify whether the draft module in freecad could be use to generate 2D technical drawings like in draftsight or autocad??? Thanks

permalink:  291   posted on 28.07.2013 24:24
From Yorik
Commenting post 285: Are you talking about FreeCAD? One solution is to generate meshes yourself, then export them to dxf. To generate meshes from shapes you have a tool in the Mesh workbench, that asks you for a tolerance value. That value controls how many facets are generated from curved faces.

permalink:  290   posted on 28.07.2013 24:21
From Yorik
Commenting post 287: All seems to work fine for me... I'm afraid I need more information to reproduce the problem.

permalink:  289   posted on 28.07.2013 16:48
From Yorik
Commenting post 288: The source code is on github, where no login is required. The compiled files are just a convenience I did so people wouldn't need blender installed, so I put them where it's easiest for me... Sorry about the inconvenience

permalink:  288   posted on 28.07.2013 10:57
From Jorge
Commenting post 282: Looks great!

Can please you put it to download in a server where sign in isn't required?

permalink:  287   posted on 25.07.2013 24:12
From Bill
Tried to use Cross Section in blender 2.6 and get error message at line 292... doesn't seem to recognize polygon... whats up?

permalink:  286   posted on 25.07.2013 10:37
From Mahmoud Anwer Sahaly
Commenting post 28: Amazing . I hope I can visualize a project like that . really amazing

permalink:  285   posted on 23.07.2013 14:59
From Maciek
Commenting post 64: Hi, 3D export fo dxf works fine but how can I control the amout of meshes generaterd. Is there any tolerance option?

permalink:  284   posted on 23.07.2013 6:23
From Rafa
Vamos a jugarlo...

permalink:  283   posted on 21.07.2013 4:18
From Franco
Commenting post 71: Genial!!!

in categories  blender  opensource  3d  gaming  permalink:  282   posted on 17.07.2013 21:08
From Yorik

Hiking day game

Work gave us a little break these last days, so I have been tinkering again with the blender game engine, and managed to get a finished game, my first game ever! It has been made with the Blender game engine, in 5 days (plus a couple of more days for testing, optimizing and bug-killing), so please excuse the poor finishes....

It is a first-person adventure game, set in a mountains environment. I will not reveal the plot, but it begins like this: You were hiking in the mountains, by a fair summer day, when suddenly...

The game is totally opensource and the files are available on github. There are also ready-to-play versions of the game:

Enjoy, and if you happen to try it please tell me what you thought, I am very new to game making and critics are highly welcome...

permalink:  281   posted on 14.07.2013 16:07
From Yorik
Commenting post 280: Hi Michael,
I don't know what is the wrong button on this site, there is only one... I'm afraid you are on the wrong place, I don't participate in the HeeksCad project... Do you mean FreeCAD?

permalink:  280   posted on 14.07.2013 15:51
From Michael Salting. Heeks Cad.
I were writing here, and push wrong buttom. Then it's all gone. Make that right at first.
Thank you and other for the open cource program Heeks Cad. I have som idees to make it better:
- In property window: Epand x,y,z lines. Use tap to change line, it woud make my construction job exact and
wery faster.
- One own layerfunction. ( If i set "visibly" off, do i not get i back.)
- - Freece/thaw. ( Faster generating.)
- - On/off. ( Easeyer to make my construktion exact.)
- By saving function, and then back: Do i not get back the same collor, it is only grey, and not seperately with eatchother.
- The union function don't function right, i have tried several times.

With regard to you and your friends.

permalink:  279   posted on 10.07.2013 16:11
From Yorik
Commenting post 278: It is only available in Draft Rectangles, not for boxes or other shapes. You do it like this:

permalink:  278   posted on 10.07.2013 4:00
From admica
Commenting post 184: How do you set the Texture Mapping property? I'd like to be able to do it in the gui and python? While a box is selected, I can click view and set a texture map to an image file, but as soon as I stop editing it, the image goes away. When I list the properties of a box after setting an image, I don't see it in the list from: Gui.getDocument("Unnamed").getObject("Box").PropertiesList

permalink:  277   posted on 09.07.2013 18:18
From John Straight
Thanks forr the FreeCad info

permalink:  276   posted on 08.07.2013 15:03
From Yorik
Commenting post 275: Hi Leonardo,
Long time I didn't look at K3D... I didn't know it could speak python! I'll have a new look at it.

permalink:  275   posted on 07.07.2013 24:25
From Leonardo Lira
Hey yorik had you tested k-3D software ? its a ambitious modeling GPL software where everithing is conected by NODES and expandible via python plugins, I had some ideas for k-3D in generative modeling and parametric geometries. please check this piece of software now the last version is on the ubuntu repositories

permalink:  274   posted on 01.07.2013 14:30
From ozcan celik
Commenting post 105: beautiful

permalink:  273   posted on 16.06.2013 2:52
From Yorik
Commenting post 272: Ola Leonardo,
Gracias! Hay también eso que debe te interesar, se no conoce ya: Interesantes los métodos de Oscar Olea y Carlos Gonzalez Lobo, no conocía... Gracias por la info!

permalink:  272   posted on 16.06.2013 1:46
From Leonardo Lira
Hola Yorik saludos desde mexico, entro aqui cada vez que tengo tiempo libre aprendo de tu trabajo, es admirabla la utilización de la Programación en la Arquitectura ahora mismo estaba leyendo el trabajo de Oscar Olea y Carlos Gonzalez Lobo de la universidad nacional autonoma de mexico sobre diseño y cibernética y encuentro tu trabajo realmente innovador y una motivación como estudiante.

Sobretodo me encanta esa idea de la arquitectura libre en su proceso y sus herramientas, voy a seguir leyendo el blog y contribuir con lo que pueda a tu trabajo con Software Libre.

in categories  photo  architecture  permalink:  271   posted on 15.06.2013 16:33
From Yorik

Pictures of our Europe trip...

permalink:  270   posted on 11.05.2013 18:52
From Ulrich Brammer
Commenting post 1: Scale does not work as expected.
For example try to put in negative parameters. This should in case of -1.0 just mirror the part.
-1.0 in X does nothing.
-1.0 in Y changes x and y coordinates.
Negative numbers for scaling should be usable for the purpose of mirror tranformations in python scripting.
I tried at with freecad 0.13git1904

permalink:  269   posted on 10.05.2013 23:01
From Andres
Commenting post 97: Thank you very much for this post. Amazing review!

permalink:  268   posted on 06.05.2013 9:33
From Amena
I really enjoy your architectural work, especially the sketches. I was wondering if you could do a tutorial for that. I use a combo of hand sketches and photoshop and am not a fan of the final product.


permalink:  267   posted on 21.04.2013 23:38
From Saulo
Obrigado pela resposta, perguntei em inglês por conta do site ser todo em inglês.

Caramba, não imaginava que funcionaria tão bem! Quanto aos jogos, não vou jogar nada "mais real que a realidade", e considero os jogos que você citou bons parâmetros para o que eu costumo jogar. Recentemente instalei o Steam no Arch e comecei a rodar uns jogos. Os mais leves rodam tranquilamente na Intel HD Graphics, mas sinto falta de alguns jogos AAA, como Dragon Age, por exemplo.

Achar um touchpad decente é difícil mesmo. O do meu notebook não funciona bem nem no Windows com os drivers do fabricante. Já a wireless não seria problema, pois eu uso o kernel 3.8 diariamente (usar distro rolling dá nisso, já está na versão 3.8.7!).

Sempre bom ver alguém mostrando boas experiências com o GNU/Linux. Valeu mesmo pela ajuda! =D

permalink:  266   posted on 21.04.2013 17:33
From Yorik
Commenting post 265: Ola Saulo

Sim, todas as teclas Fn (mudar o volume do som, o brilho, ligar/desligar o touchpad, etc) funcionam, não precisei fazer nem instalar nada para isso, para a bateria francamente não posso te dizer porque uso ela muito raramente (quando o note ta aqui na mesa retiro a bateria para poupar). O touchpad me parece ótimo, suporta multi-touch sim (pelo menos o scroll com 2 dedos, não consegui fazer zoom ainda). Para jogos esté tudo perfeito, no momento estou jogando Serious Sam 3, Oil Rush, Mass Effect e BioShock, todos com todos os settings no máximo (ok vc vai dizer alguns são jogos um pouco antigos já) mas mesmo assim, jogar no linux nunca foi tão bom assim...

Para resumir, acho quo o note funciona 100% no linux. As únicas dificuldades que tem são:

1) o driver wireless, apesar deles dizer que está incluido a partir do kernel 3.8, aqui tive que compilar o driver mesmo com esse kernel. Bom, mas se você olhar no código do kernel, o driver está la sim, portanto acho que rapidamente isso vai ser resolvido (parece que funciona já no próximo ubuntu que vai sair agora - ). De qualquer modo funciona. Único pormenor, a tecla do note para ligar/desligar o wifi funciona, mas não ascende (normalmente ela ascende quando o wifi está ligado).

2) o chip optimus da nvidia ainda não está suportado pelo driver. Você tem que fazer isso manualmente instalando o bumblebee + primusrun. Mas francamente uma vez que está funcionando, é tão performante quanto o driver nativo, com a vantagem de VOCÊ controlar quando quer usar o nvidia, não quando o driver quer... Até a luzinha que indica quando o nvidia está ligado funciona!

Bom para resumir, estou apaixonado por esse notebook, realmente é muito bom. E a casca "genérica" dele é bem melhor do que pensava, tão boa como qualquer hp ou dell.

permalink:  265   posted on 21.04.2013 4:06
From Saulo
Commenting post 201: Hello there, I'm brazilian as well.
I've been eyeing those Avell laptops for a while, but I still was quite unsure since I haven't seen anyone using GNU/Linux on them. It's good to see it worked so well for you. If I may ask you some questions:
Did all the "Fn" keys work out-of-the-box?
How much time is it taking before the battery gets low?
Have you tried to play on Linux using this machine?
Is the touchpad good (build quality, buttons...)? Does it support multi-touch on Debian?

Thanks! =)

permalink:  264   posted on 19.04.2013 22:49
From Yorik
Commenting post 263: Yes, vimeo itself now also has a tool to choose from CC-licensed music. I suppose I'm just lazy to browse through them all until I find one that suits the video and me Thanks for the tip, though.

permalink:  263   posted on 19.04.2013 14:44
From Alexandre
Commenting post 258: "One of these days I should do some digging on copyright-free music to put on those vids" — Just use Jamendo

permalink:  262   posted on 18.04.2013 17:38
From Yorik
Commenting post 261: Yes of course... real mirror reflexions I use as little as possible (basically only on glass). And even so, you must make sure your mirror reflexions don't "see" very distant objects (remove them all from raytracing). You can cut down your render times drastically.

All the rest is made with HDR images (I use generic ones I find on the web) set as "reflexion" mapping. You must try several to find one that gives you the kind of reflexion you want...

permalink:  261   posted on 18.04.2013 17:34
From Derek
Yorik I was wondering to you save render time by setting the reflections on everything to use a reflection map? It seems to work well all though not exactly correct. Do you make a reflection map texture from rendering of the site or from photos? Great work though man...your stuff is what got me into Blender:P

permalink:  260   posted on 18.04.2013 16:11
From Yorik
Commenting post 259: Hi, thanks! The environment is based on google earth images, then I do a series of things such as: stitching the images, painting on top of it (the color of the water, for example, was rather ugly in GE), creating/extracting new maps for trees, grass, water and buildings, create specular and normal maps, then I use the trees maps to create particle systems for the vegetation, then I vectorize and extrude the buildings map to create some volume. Finally I added a couple of extra objects by hand (trees and houses) where the camera comes very close to the ground. Ah and finally, there is a horizon, a big circular ring with a horizon image mapped to it, which I make from photos.

permalink:  259   posted on 18.04.2013 8:28
From TynkaTopi
Commenting post 253: Nicely done video. I'm interested how did you make map environment ? Are they real objects (water, trees, buildings) or images ?

permalink:  258   posted on 16.04.2013 16:13
From Yorik
Commenting post 257: I know, the version that goes to the client goes with music, but I remove it to avoid copyright issues... One of these days I should do some digging on copyright-free music to put on those vids...

permalink:  257   posted on 16.04.2013 8:18
From baux
Commenting post 253: Videos are usually a bit more interesting with some music in the BG!

permalink:  256   posted on 15.04.2013 23:29
From Sergey
Commenting post 253: It's amazing!!!

permalink:  255   posted on 15.04.2013 22:57
From Yorik
Commenting post 254: We just did the animation, subcontracted by the architect. We do that quite often, most of the animations here are done that way...

permalink:  254   posted on 15.04.2013 22:47
From Alexandre
Commenting post 251: So you worked as subcontractor to create animation of a project? Or did you do other work too?

in categories  blender  3d  works  animations  permalink:  253   posted on 15.04.2013 22:33
From Yorik

Casa Lagoa do Banana

This is an animation we made for a project by Espaço Projetos. See also still images and the storyboard. All was made with blender and rendered with the internal engine...

in categories  blender  3d  works  permalink:  252   posted on 15.04.2013 22:20
From Yorik

Images Lagoa da Banana

These are still images from an animation we did recently for a project by Espaço Projetos

Also check the storyboard here...

in categories  blender  3d  sketches  permalink:  251   posted on 15.04.2013 22:09
From Yorik

Storyboards always

I realized how important storyboard were when I saw David Revoy's amazing work on the Tears of Steel movie. Until then I hadn't realized this was something actually doable, draw the whole movie before doing the 3D. I discovered it is not only perfectly doable, but also incredibly useful.

This is the storyboard we did for a recent work. If you do animations, always do a storyboard before, no matter how good your drawing skills are. The time you'll save later and the understanding between you and your client will raise tremendously. It also serve you as a guide throughout the job, when you were able to build a scene that produces the corresponding image from the storyboard, you can mark it as done, and you have a clear view of your progress.

Also try to do bring most of the discussions at storyboard time, and you'll have very little to change to the scenes structure later on.

This is the complete storyboard:

And this is the content of our "final images" folder. Some sequences changed after the storyboard, but the general shape of the animation stayed the same.

See bigger images here.

permalink:  250   posted on 15.04.2013 21:13
From Quiliro
Commenting post 97: Thank you very much for the info!

It would be nice if you would talk about free distros (such as Trisquel) and ways to use software that is entirely free (as in freedom) to do architectural work.

Keep on hacking!

in categories  linux  opensource  permalink:  249   posted on 07.04.2013 17:06
From Yorik

Retrieve a file via ftps + mysql backup

This is a note to myself, so I remember later, since the syntax is a bit complex and you need several variable settings (they can also be set in ~/.lftp):
lftp -e "set net:timeout 10; set ssl:verify-certificate no; set ftp:ssl-protect-data true;
get mydir/myfile.sql.gz; bye" -u myusername,mypassword

You can use that to make automatic backups of a mysql database, by adding a line like this to your webhosts cron list:
/usr/bin/mysqldump -u myuser --password=mypassword databasename | /usr/bin/gzip >

permalink:  244   posted on 06.04.2013 12:00
From nivin george ,india
just amazing works ............ me too working as a 3d designer .....but nothing in front of u ... sorry to ask this. can i have any job in your company ....please if u can or else suggest me how to make fine rendering and in what software also what rendering software are you using and how ? ........and reply me what ever it is

thank you

nivin george

permalink:  243   posted on 05.04.2013 5:50
From Lima
Dear Yorik, sorry about my not knowledge about FreeCAD; I will try to digest your suggestion and try a few days... if I became not succesful, I get back to you...

thank you for your kind attention...


permalink:  242   posted on 04.04.2013 14:44
From Yorik
Commenting post 241: Hi Lima,

Hmm I think I would try something like this:

1. Take your profile, and scale it by 1.41 (square root of 2) only in X and Y directions. You can do that with the Draft Clone or Scale tool (it has separate x, y and z scale factors)
2. Place that scaled profile at 45 degrees, exactly where the 2 side profiles must join
3. Extrude it 2 times, once in direction X, once in direction Y
4. Subtract the pieces of profiles you already have, to cut nice endings

I hope it is understandable, if it is unclear, send me your fcstd file (my email address is under the icon at the top right of this page) and I'll try to show you better.

permalink:  241   posted on 04.04.2013 5:40
From Lima
help with extending corners on 3D multi-vertex parts

dear Yorik, do you have any idea were can I find any help or guidance to do this extensio to make a 45 degree corner with 2 multi-vertex objects? I have no experience in Python scripts to do that...

picture is here...

Thank you!!


permalink:  240   posted on 03.04.2013 1:17
From Yorik
Commenting post 239: No problem! I'll keep this one

permalink:  239   posted on 02.04.2013 24:28
From JFMesina
auug, i refreshed page anf sent post again :P nvm, i'm sure you can delete them all... i just installed your script i downloaded from this site, but idk if it worked, as i can't use it yet... so better i'll use the integrated version you just told me. Thank you a lot! BTW you can delete this post too

permalink:  237   posted on 02.04.2013 23:50
From Yorik
Commenting post 236: Hi JFMesina,
It's now integrated into blender's built-in addons. Look for "Object Render Wireframe" in the testing category...

permalink:  236   posted on 02.04.2013 23:47
From JFMesina
Commenting post 96: Hi Yorik, i arrived your site looking for a Blender script called Solidify Wireframe, do you have any idea of where i can find it and if it works with current versions of Blender? Thank You.

permalink:  235   posted on 26.03.2013 2:23
From Yorik
Commenting post 234: It won't work until we have made FreeCAD compatible with python3 (blender is only compatible with python3). When that is done, the script will be back!

permalink:  234   posted on 25.03.2013 22:42
From Michael Humes
Commenting post 105: Great script. In recent versions of freecad though, it's broken. A refreshed version might be nice

permalink:  233   posted on 24.03.2013 15:11
From Hezakwik
Perhaps a willow tree

permalink:  232   posted on 22.03.2013 16:26
From Yorik
Commenting post 231: Thanks! Yes we all know there are bugs, but you know, you can also help the project by reporting them Seriously speaking, though, that won't be solved overnight. Making a software stable is a very long process, making CAD software is a very complex endeavor, and if you saw where we are coming from, you might even call FreeCAD very stable already.

permalink:  231   posted on 22.03.2013 15:48
From Martin
Commenting post 206: I really love where FreeCAD is going, especially the arch module and eventually IFC support! I have recently discovered how blender is a very useful tool for architectural design, and together with freecad I really think we can finally have an open-source, multi platform CAD/BIM workflow! I think FreeCAD looks very promising, but at the moment it is very buggy, but I hope that you are aware of the bugs, and that it is not a problem of the software behaving differently on different machines. I will be following this project, and I will be happy to test the coming IFC support, and see how it works with structural analysis software, especially with CypeCAD. Keep up the good work!

permalink:  230   posted on 18.03.2013 22:05
From Yorik
Commenting post 229: Hi, thanks for notifying, maybe something has been moved and I forgot to update links... Can you tell me exactly where are the broken links?

permalink:  229   posted on 18.03.2013 21:47
From Nikitron
Hi, well done. But lnks in architectural tutorial are broken. Or I have no permission. Where are your scripts now?
Thank you.

in categories  linux  opensource  permalink:  228   posted on 17.03.2013 3:50
From Yorik

You spend too much time in front of the computer

and you want to know how much, or maybe you simply want to know how long you have been working on something today. For either cases, I made this little script for linux, that you must launch at startup (put it in your startup apps list, or launch it manually). It will then record the time passed since you turned on your computer, and subtract the time your desktop was in screensaver mode, resulting in the time you were actually sitting doing something with the computer.

Of course it wont help you to know how long you have been working and how long you spent staring at facebook. But there are much better time-logging apps available on the net to solve that problem...

The script will store the current activity time in a ".activitytime" file inside your home folder, so you can just do "cat ~/.activitytime" from a terminal or from any other script (launcher, panel widget, etc...) to display your current activity time.

import sys,os,time

r = os.system("xprintidle")
if r != 0:
    print "Error: xprintidle was not found, and must be installed for this program to run"

total_idle = 0

def uptime():
    "returns uptime in minutes"
    with open("/proc/uptime", "r") as f:
        uptime_seconds = float(f.readline().split()[0])
        return int(uptime_seconds)/60
    return 0

def idletime():
    "returns idle time in minutes"
    global total_idle
    r = os.popen("xprintidle")
    idle_minutes = int(
    if idle_minutes > 1:
        total_idle += 1
    return total_idle
def formattime(minutes):
    "formats atime in minutes to HH:MM"
    hours = minutes/60
    restminutes = minutes%60
    return str(hours).zfill(2)+":"+str(restminutes).zfill(2)
def writetime():
    "writes current activity time to a file"
    strtime = formattime(uptime() - idletime())
    print ("active time: "+strtime)
    fil = open(os.path.expanduser("~") + os.sep + ".activitytime","wb")
def readtime():
    "reads a temp file and adjusts elapsed idle"
    global total_idle
    fpath = os.path.expanduser("~") + os.sep + ".activitytime"
    if os.path.exists(fpath):
        fil = open(fpath,"r")
        r =
        t = r.split(":")
        minutes = int(t[0])*60 + int(t[1])
        print "logged activity time: ",formattime(minutes)
        print "current uptime: ",formattime(uptime())
        total_idle = uptime() - minutes
        print "logged idle time: ",formattime(total_idle)

if __name__ == "__main__":
    if len(sys.argv) == 1:
        # if no argument is given, start from zero
        # with an argument, for ex --append, restart from currently saved time

    while True:

permalink:  227   posted on 15.03.2013 10:54
From tulson
Commenting post 217: yorik again! remarkably often, if i search for things i need im landing on this site. [happy smiley]

permalink:  226   posted on 14.03.2013 10:11
From Marian
Commenting post 180: Later response: Thank you for this tutorial! Freecad is really beginning to look more and more promising (stil a long way to applications such as revit though). Hope to have some time to play with it now that 0.13 is out a try it out on some simple tasks..
Keep up the great work!

in categories  linux  opensource  permalink:  225   posted on 05.03.2013 24:03
From Yorik

Recompile a Ubuntu PPA package on Debian

One of the annoying things with Ubuntu PPAs is that they almost never install out-of-the-box on Debian, because usually they need a too new version of a package or a too old one, depending on which Ubuntu version you choose.

Fortunately, since both Debian and Ubuntu share the same package system, so recompiling and repackaging a PPA package is often very easy, since the source code already comes ready for packaging. Here are the steps to follow :

1. Install build-essentials and dpkg-dev packages

2. On the PPA page on Launchpad, click the "view package details" link and expand the most recent version.

3. Download both the tar.gz and the .dsc files (the source code and the debian package specification)

4. Place both in a same folder, then extract everything:
dpkg-source -x name-of-dsc-file.dsc

5. Go to the extracted folder:
cd name-of-folder

6. Compile the code:

7. If some needed package dependencies are not installed, the above command will abort now and tell you what is missing. Correct the situation and run dpkg-buildpackage again. Compiling might take some time.

8. Is all went well, you will find one (or more, since the dsc file might have instructed to split into several packages) .deb files in the folder that contains your dsc file. Install it by double-clicking it in your file manager or with:
sudo dpkg -i name-of-package.deb

Retrieved and adapted from

permalink:  223   posted on 01.03.2013 16:52
From Yorik
Commenting post 222: Yes, definitely the BIM world is a world where each of the player tries to pull all the customers in his nets. IFC, which is probably the best thing we have at the moment, is usually badly implemented, and in several cases (Revit for example) is supported only by external plugins. And gbXML seems to me a solution developed by the BIM providers to be unharmful to them (it is basically an export format, not made to carry all the information the model has, and certainly not made to import anything serious)

Although there is a lot of talk about that on the net, one of the things less implemented there is without a doubt interoperability, define sets of common standards, etc. I also think working with multiple applications and developing trustable workflows between them is a very important key. For me Blender (or sketchup, or any "fast" modeling app) is a fundamental part of the process (modeling in FreeCAD is slow and therefore can limit your spontaneity) but FreeCAD is another fundamental part (because of parametric modeling and complex data model). And there are other parts of the system too. The trick is to make all this works seamlessly and reliably together...

permalink:  222   posted on 01.03.2013 13:32
From Luke Parry
Hi Justas,

Sounds an interesting venture, and wish you luck achieving your goals. For mechanical design projects, blender is not really suitable. However, from my bit of experience with BIM so far as a student, it does seem achievable using blender although Feature and Object based modelling from what I gather is not central to Blender architecture.

Also @yorik, I will have to look at your Arch module again - I've only had a play since the start of my group project and now it's reaching the end. Revit was interesting to use as a beginner, but there is so much bloat, that at times it's impossible to use and especially cumbersome when trying to change wall positions.

From my experience so far with BIM, one it's weaknesses is program inter-operability - if you export to gbXML or ifc and the walls are not correct it will simply not play ball and has made my life hell FreeCAD looks in a better position having the strengths of parametric modelling built-in

permalink:  221   posted on 28.02.2013 20:10
From Yorik
Commenting post 220: Hi Justas,
Great! You can count on me to help advertising the kickstarter campaign. Such efforts are badly needed I think. As for focusing on Blender, even if Blender is also my platform of choice, I would advice you to make the project as software-neutral as possible. Even if it is open-source, Blender can also "lock" you in some of its specific features. The principal being for me that Blender is mesh-based, which is its strength (virtually anything is possible and modeling in Blender is the fastest thing that ever existed in the 3D world) but would be very counter-current to try to adapt into a complex intelligent objects system that modern BIM requires. I think the last part of what you wrote is very correct and the most important: Identify worflows and tools needed, then gather all existing tools, and identify missing pieces.
I suppose you would need more than that to make an attractive kickstarter project, but I believe you know what you are doing.
Is @digido_3d the twitter account of your project?

permalink:  220   posted on 28.02.2013 19:44
From Justas

I’m architect, I’m keen on sustainable architecture, open source technologies, sharing culture.

I believe that tools for objects creation should be open source and available to everyone. Only with such open tools we can cultivate innovative ideas and built harmonious and sustainable environment.

You have made amazing stuff with Blender and FreeCAD!

I have thought about open source CAD, Building information modeling, virtual prototyping software. And now we formed team to develop such system based on “Blender” 3D modeling software. Now we have one developer. Now he is studying what is already done in Blender plugins field, FreeCAD. We focus on “Blender” because we feel it is more promising software than for instance FreeCAD or other open source CAD tools.

In April we are going to launch project on if we succeed we are going to hire more developers (now guy work as volunteer). We called our project DiGiDone 3D. Main goal is to aggregate everything what is already done, improve or create some new modules, and create user friendly system, capable of doing parametric models and other stuff needed by architects, designers, engineers. Integration with OpenPLM system.

permalink:  219   posted on 23.02.2013 23:07
From Yorik
Commenting post 218: Whoa, I hadn't seen that one... Excellent, 2 options now

permalink:  218   posted on 22.02.2013 20:22
From TynkaTopi

in categories  opensource  blender  permalink:  217   posted on 21.02.2013 22:33
From Yorik

Blender cross section script ported to 2.6x

This was long, long overdue, but the cross section script I and a couple of others wrote for blender 2.49 has finally been ported to 2.6x, thanks to the efforts of @Ejnaren who did most of the job.

The script works basically the same way as the 2.49 version, you select objects to cut, then (as the last object of the selection) a planar object (it must contain only one face) that defines your cut plane, and press the button. The controls - once the addon is installed - are in the tool shelf, and there is an option to fill closed paths with faces, like in the example above.

The addon is currently available via the blender project tracker or directly from here.

in categories  linux  permalink:  216   posted on 21.02.2013 22:15
From Yorik

Dropbox check script

If you are using dropbox on linux, be aware that there are several reports of dropbox "loosing" some of your files (the file still exists, but it has 0Kb size). The causes of this problem seem not very clear...

Anyway, I made this little script that checks your dropbox folder if everything is okay:

if [ -z "$1" ]
    find /home/yorik/Dropbox/* -size 0 -type f
    if [ -n "$(find /home/yorik/Dropbox/* -size 0 -type f)" ]
        notify-send -i important "Dropbox Warning" "0-byte files found"
        play /home/yorik/.sound/nuclear-alarm.wav

To use it, just put the above text in a new file, adjust the paths /home/yorik/ to yours, save it and make it executable. If you run it without options, it will prin a list of 0-byte files found in your dropbox folder. If you run it with any kind of argument (for example checkdropbox -n), it will show an alert on your desktop if any 0-byte file is found. I use it that way in a cron job that runs every hour, that I set by adding the following line in crontab (do crontab -e in a terminal):

0 *  * * * env DISPLAY=:0 /home/yorik/bin/checkdropbox -n

the "env DISPLAY=:0" is needed when you want to lauch graphical applications from crontab...

in categories  works  architecture  projects  detail  permalink:  215   posted on 18.02.2013 16:37
From Yorik

Costa do Ipê base project

We finally finished the intermediary part of the Costa do Ipê project, which is used to submit the project to authorities for approval, and will also be used by other designers involved in the project to do their work. All the work was done by a 3-person team (myself, Maíra and our friend Dani, and I am pleased to say a good 60% of it was done on linux platforms. The software used (surely some will ask ) was mainly Blender, FreeCAD and Draftsight.

We are very happy with the result, it represented a lot of work, and is going very much in the direction we wished, thanks principally to the excellent relationship and mutual understanding we have with the owners and masterminds of the project, Sílvia and Marc. The project itself is getting more and more stripped down to its bare function of "life support", which reduces the overall cost (no expensive material, no unnecessary elements) and widens the possibilities of adaptation and evolution (all the vegetation design and the "shading plan" has been left for posterior phases and those are now totally independent of the building structure).

All the project is thought as a low-impact intervention, at economical, social, environmental and urban levels. It relies a lot on pedestrian and public transport transit, offers a large public space, has reduced physical footprint on the terrain, is planned to have a very low energy consumption, reuse most of its water, and to evolve and adapt itself to whatever the socioeconomic situation will require in the next decades... But best of all, and this was thought right from the start by Sílvia and Marc, it is a public space first, before being a shopping mall... There is little doubt that it will be quite successful given the current local socioeconomic situation, but the priorities are in the inverse order as you usually see in similar projects, and it is really thrilling to see happening what might be a completely new way to think and do such projects...

3D images and a video of the projects are available, as well as more information about the design itself.

in categories  3d  works  blender  animations  permalink:  214   posted on 18.02.2013 15:54
From Yorik

Loja Maresia

This is a short animation we recently did for a shop designed by Espaço Projetos. All modeled and rendered with blender (internal renderer).

And a couple of still images extracted from it:

in categories  3d  works  blender  permalink:  213   posted on 18.02.2013 15:43
From Yorik

Boats animation

This is a short glimpse at an animation we did recently. Unfortunately I cannot reveal more because we are bound by one of those NDAs, but suffices to say it is about sea and boats, and I did a whole storyboard by hand before animating, which was a tremendously enlightening exercise, since, while it only cost us a small amount of time, it allowed us to gain very much control over the whole process, including the discussion with the client (everything is "decided" before the real work begins), and the animation itself. We never really thought much about film sequencing before (archviz walkthroughs being very "straightforward"), and this allowed us to really plan and think about scenes beforehand.

In short, if you work with animations, never do it without a storyboard...

permalink:  210   posted on 14.02.2013 12:36
From Luke Parry
Commenting post 206: The first three points sound good, especially if we could achieve python 3 in this release.

permalink:  209   posted on 14.02.2013 2:02
From Simon
Commenting post 180: Awesome - the beginnings of a free software BIM platform. I hope FreeCAD continues to develop this workbench.

permalink:  208   posted on 08.02.2013 13:42
From Yorik
Commenting post 207: Thanks, yes, we would all like that, but it is not that simple to achieve Im afraid...

permalink:  207   posted on 08.02.2013 7:09
From Rafael
Commenting post 206: Congratulation, I am waiting for the new version. And for the next releases I would like a more intuitive commands and interaction with the program.

in categories  freecad  opensource  permalink:  206   posted on 07.02.2013 18:47
From Yorik

FreeCAD plans

The 0.13 release of FreeCAD is being prepared and is almost ready (we are now uploading sources everywhere and building packages), so this is a good time to plan a little bit what I will be working on next...

  • Switch our wiki, mantis and phpbb to self-hosted
  • Try to achieve python3 compatibility, so we can have blender-in-freecad or freecad-in-blender again (basically import freecad files in blender and vice-versa)
  • Try to make standard icons use the current qt theme

Draft module
  • Separate upgrade and downgrade tools into smaller parts, to make them more extensible / configurable, and easier to fix bugs
  • Make upgrade and downgrade available in scripts (put them in
  • Turn the Draft snap icons into FreeCAD commands
  • Redo the dimension tools, simplify them (solve the orientation hell), use a placement, see if it is possible to base their coin node on Lukes sketcher dim node

Arch module
  • Better IFC import, get rid of internal parser if possible (keep it as a separate option), try to support IFC objects subcomponents (base polyline, separate shape representations, openings) if available
  • Better struct tool, allow placement, to choose base profile, etc
  • Add IFC export (add python bindings to IfcOpenShells exporter)
  • Add materials
  • Explore the concept of space, an empty volume limited by walls, floors, ceilings or anything else. Ideally have a two-way link between the space and its bordering elements (a space is defined by its borders, but changing the dimensions of a space could or should move its borders... seems difficult to achieve)
  • Explore the concept of floors, basically be able to calculate floor areas of a project. Maybe relate to spaces, but spaces might not always have a floor area...
  • Explore the concept of multilayer objects, typically walls. Many complications arise, such as capping, corners and openings...

More about what I plan for walls here

Spreadsheet module
  • Basic spreadsheet object
  • Basic spreadsheet viewer
  • Basic spreadsheet view (group of cells)

Drawing module
  • Allow the webkit viewer to draw a page background when viewing an svg file
  • Try to use the webkit viewer instead of the qsvg viewer. AFAICS main thing needed is signal-slot to update the contents.

If you want to keep updated with what I do there, check my assigned issues on the issue tracker

permalink:  204   posted on 07.02.2013 17:53
From Coburn
Commenting post 209: Woah!

permalink:  203   posted on 24.01.2013 22:59
From Yorik
Yes indeed, I can barely read text at that resolution, and it looks weird with my 22" dual-screen... So I usually use the notebook screen with a lower resolution... Fortunately it supports about 15 different resolutions.

permalink:  202   posted on 19.01.2013 17:54
From Jorge
Commenting post 201: Interesting, I dind't know about "barebooks", thanks for the explanation.

By the way, 1920x1080 is a very high resolution for that screen (17''?), I've been looking around for a 23'' and the cheaper oneas all have that resolution... while being 6'' biggr. That makes a very small pixel pitch!

in categories  linux  opensource  blender  permalink:  201   posted on 18.01.2013 15:41
From Yorik

About Clevo, Avell, Debian and Cycles

I got myself this new toy: An Avell G1511 notebook. It is a very good machine, with a recent generation I7 CPU, an Nvidia GTX660m GPU with a 1920x1080 display, and an hybrid HDD+SSD hard drive, which boots debian in less than 7 seconds from grub to fully loaded desktop.

This notebook is what is called a "barebook", or "whitebook", or "barebone notebook". It is actually a Clevo W350, which sells with only the shell, the motherboard and the GPU. The guys at Avell add the other components (Avell only sells in Brazil, but there are similar brands in the USA and in Europe, like Sager or Schenker, more here ). As a result, it is very configurable, and you can choose between many types of CPUs and hard disks. You can even choose the color of the shell... And a very remarkable detail, all Avell notebooks have a 3-year warranty.

There is quite some time I wanted to put my hands on such a barebook, and it is really a very good machine. First advantage is the very low price, a notebook with the same setup costs about the double if it comes from Dell/Alienware or Asus, and triple if it is a Mac... Basically you can get yourself a pretty powerful machine at the cost of a very mid-range one. The I7 + GTX660 allows you to run any recent game, and the 2 games I installed until now (Oil Rush and Serious Sam 3) both run with all settings at maximum in 1920x1080...

I also discovered that between all notebook vendors, only Asus makes its own shells. All others (Dell, HP, Sony, etc...) also buy their shells from a third-party manufacturer. So not only there is no difference with Avell/Clevo, but also Clevo is a very well-known one, and really the W350 shell is excellent: It is solid and the thermal design is very good. The ventilator can spin quite hard when doing CPU-intensive jobs, but doesn't even need to run when gaming in high-resolution... And the design is actually far from ugly, differently from what I expected...

Since this notebook comes without operating system, I started by installing my favourite operating system, debian (testing release). I made a coupe of technical questions to Avell before buying and the guys were very professional, they dug all the answers I needed, etc. Even so, I wasn't sure some smaller parts would work out-of-the-box. Good news, 100% of the hardware is supported. Not totally out-of-the-box, though, but everything was very easy to solve. Basically I had to do this:
  • The Ivy-bridge architecture this I7 CPU is based on is only well supported from kernel 3.6. Debian testing ships with 3.2, which makes the system freeze from time to time, but 3.7 is available form the repos, so it is very easy to fix
  • The Nvidia GPU is an Optimus-based one (a system to switch automatically between the I7 integrated GPU and the Nvidia one, to save power), and optimus is still not officially supported on linux (Fuck you Nvidia! said Linus Torvalds about that problem). Fortunately, the opensource community came with a solution that is now extremely stable, and I would say almost better than the official driver, called bumblebee, and its new indispensable add-on called primusrun. On Ubuntu all this is easily installable via PPA, on debian you need to compile them yourself, but if you use debian, you surely like to compile stuff yourself... With bumblebee and primusrun, you simply force any application to use the Nvidia GPU, while the rest runs on the I7. The performance is smooth and perfect.
  • All the peripheral hardware is from Realtek. The network adapter works out-of-the-box, the wireless adapter not, but already has a linux driver available from realtek, which you can compile yourself now, but will be included in the kernel 3.8, and the card reader needs an additional package called rts-bbp.

After that, everything runs perfectly. I like to use debian testing because you can install it bit by bit, starting from a very bare minimal installation, and add pieces as you need them. Definitely debian is not a distribution for you if you don't like to configure your own stuff. Only to make a bootable USB stick you need to read several instructions pages... But on the other hand, you end up with a blind-fast system, where you know every piece and every process.

After the system was up, one of the most important things I wanted to test is Blender's GPU-enabled renderer, cycles. I compile blender myself (I can't wait to get the new features), and fortunately, at this date, all the dependencies you need are in the debian repositories (except opencolorio and opencollada, but they are both optional). You must just be very careful to get all the Nvidia stuff (nvidia driver, cuda libs and cuda toolkit) with the same, matching version numbers (in my case they come all from the debian experimental repo, driver 313.18 and cuda 5.0), otherwise Blender won't detect your card. And you don't even need bumblebee to run cycles!

Much has been said (specially by our friend Ivan ) about Nvidia 600-based GPUs and their poor performance in cycles (namingly, even being more recent, they behave much worse than 500 series). This proves out to be quite true unfortunately, the Mike Pan's BMW benchmark renders in 3'06" (against 3'20" when rendering with the CPU), and on the benchmark page you see older GPUs rendering the same scene in about 1 minute.

But there are several other considerations to take into account: The Nvidia 600 series (also called Kepler) is pretty new, so cycles might still not use them with full potential (cycles is still in heavy development), and benchmarking sites usually place the 600 series quite above the 500 series, so they perform better in other areas (gaming especially). This is also because they use a much faster memory than the 500 ones. And my notebook is not meant to become a cycles rendering node, we always use render farms for heavy work. And, as Saint Mango teaches us, life is meant to do hard work and play good videogames in equal parts...

permalink:  200   posted on 16.01.2013 15:27
From Yorik
Commenting post 4: No, it is not freecad, only blender + draftsight...

permalink:  199   posted on 16.01.2013 15:26
From Yorik
Commenting post 3: Hi James,
No, currently freecad doesn't support python3, and blender only supports python3, which makes them incompatible, and therefore the plugin doesn't work anymore. I'll try to attack freecad-python3 compatibility soon, though, then the plugin should work again.

permalink:  5   posted on 11.01.2013 14:00
From Joseph
I am a professional surveyor and mapper interested in working on a python module for freecad. could u cointact me?

permalink:  4   posted on 10.01.2013 23:03
From alex
Commenting post 80: is it freecad? wow! i think - you are fantastic man=)

permalink:  3   posted on 10.01.2013 21:41
From james
hello yorik,
is your freecad importer for blender working with current builds?
is your script importing the nurbs data or converting to mesh?
Greetings james

permalink:  2   posted on 02.01.2013 11:38
From guest fan
hello yorik,

while looking for autocad alternative for linux, i found librecad, still in beta but really good
you should check out librecad. im pretty impressed with what your doing in freecad, maybe you could check out librecad, and maybe merge the two projects? autocad for linux FTW!

permalink:  1   posted on 02.01.2013 9:04
From swathi
Commenting post 67: always crashing in 32 bit windows 7 and not recognising with 64 bit gimp 2.8
thank you