Hi Jelle,

Nice to hear that you have so much fun with that tiny little tool! Now that you have 'announced' it in this group, it should also be available somewhere in public space.
Because of this, I run through the source and made it a little more decent as it was. Now, for those who are interested, the source can be downloaded from http:://www.toren.com/radiance/dxfimport_so.tar ( "so" stands for stand-alone, because the original class was written as part of a never finished Qt-app. )
Type "g++ -o dxfimport dxfimport_so.cpp" to compile it.

dxfimport handles only 3DFACES.

According to the autodesk website, the DXF file format documentation regarding 3DFACES applies to all versions of autocad's dxf, so dxfimport should also support all versions. Wishfull thinking?

What exectly do you mean with unreasonable large models? There should be no limit in the size of the imported dxf file, except that dxfimport does not count more as 999.999.999 polygons, which is very, very much in my opinion.

Someting about the usage:
You can specify a filename as the first argument of dxfimport, or type a '-' to read data from stdin.
For example, to convert each .dxf file in a directory and create an octree, type
$cat *.dxf | dxfimport - | oconv materials.mat sky.rad - > model.oct
Or for a single given file, type:
$dxfimport model.dxf | oconv materials.mat sky.rad - > model.oct

dxfimport without arguments gives you some basic explanation and help.

The output (stdout) of dxfimport is a line like this for each converted face :
LAYER002 polygon LAYER002_000001117 0 0 9 1.650004 36.700264 14.223996 1.650004 36.710262 13.099998 1.650005 36.710262 14.223996
Talking about workflow: imagine that a similar program can produce similar lines for Radiance lightsources, using LINE entities from a DXF file.
We use just such a program (not reading dxf however, but the very exotic .gs1 files from Arc+ modelling software) to convert lines into lightsources, where the startpoint of a line is the origin of a lightsource, and its endpoint can be translated as a direction vector for spotlights, or to transform IES data. Do you get the idea?
But this is going to be a little off-topic for now.

Dxf2rad from Georg,however, has much more options, and supports much more entities than dxfimport probably ever will.


Jelle Feringa / EZCT Architecture & Design Research wrote:


Hi group,

I’m happy to tell you Iebele Abel released a dxf to rad converter for Linux.

What’s good about the converter is that implies a way of organizing your radiance scene.

The workflow is based on the layers present in the .dxf file, the modifier in the generated .rad file will correspond to the name of the layer in the .dxf file. The point of this is that when you need to make different renderings of a project in progress you use the layers for mapping the materials to the .rad geometry. When presented a modified model, just overwrite the existing .rad geometry using dxfimport, launch your renderscript et voila, another render iteration on its way. When working for rapid changing projects this workflow is killer.

Something which is highly productive for this type of workflow is to have a standardized radiance library where the layer number in your dxf file corresponds to the material in your materials definitions. If this way of working is familiar to you, & you happen to work on Linux, you should definitely take a look at Iebele’s dxfimport converter !

When looking for a converter with lots of options, look further, but dxfimport fits perfectly in a highly streamlined radiance workflow, based on .dxf input.

Iebele, perhaps you could elaborate on which entities dxfimport handles? Which versions of .dxf are supported in dxfimport? What about unreasonable large models, do these work with dxfimport?

Cheers, Jelle.


Radiance-general mailing list