All posts in 3dbyggeri

My first screen cast

I’m proud to announce: My first real screen cast that I’m actually not embarrassed by.

It’s in danish…

So if you know any marketing people in the building material industry that could use digitaleprodukter.dk, please show them this video 🙂

Hjælp: digitaleprodukter.dk mangler en sælger

Digitalt Produktkatalog

Company: 3dbyggeri danmark
Job Title: Vil du sælge den digitale revolution til byggebranchen?
Description: 3dbyggeri danmark søger en sælger til salg af produktet Digitalt Produktkatalog.

Continue Reading →

Produktmodeller i Jönköping

Summary in English further down.

Tirsdag d. 8 maj 2007 var dagen for vores første rigtige forretningsrejse. Tore og Jeg tog afsted kl. 5.23 fra København H med toget, skiftede kl. 6.05 på Malmö centralstation og var i Jönköping kl 8.59, hvorfra vi med firmaets visakort købte en taxa til FläktWoods AB på FläktGatan 1. Efter et kort tjek ind i receptionen fandt vi os selv blandt 60 andre forretningsfolk, PhD-studerende og forskere som alle havde én ting til fælles – en brændende intens interesse for automatisering af produktion i industrien, eller mere specifikt: produktmodeller.
Dagen var arrangeret af Tekniska Högskolan i Jönköping og Foreningen for Produktmodeller i Danmark og Sverige, og bestod af en række spændende og inspirerende indlæg, en frokost på ægte svensk (desværre løb de tør for korv og potatmos, så vi måtte klare os med kylling) og en rundvisning på et hyper moderne, hovedsagligt CAD-styret, produktionsanlæg der fremstiller ventilationssystemer. Dette indlæg er skrevet i X2000 lyntoget på vej mod Malmø med 1000 km/t – eller i hvert fald nok til at give mig tendens til køresyge, mens jeg skriver.

Og hvad får man så ud af sådan en dag?
Vi er begge enige om at vi er blevet beriget med en god indføring i begreberne og ideen bag det noget mystiske og hemmelighedsfyldte ”produktmodeller”, som vi har cirklet omkring den sidste tid. Og så blev vi inspireret af at høre om andres erfaringer og få nogle historier fra det virkelige liv i produktionsindustrien, og måske fik vi et par gode anekdoter med i posen, til når vi skal ud og snakke med de danske producenter.
Sidst, men ikke mindst fik vi mulighed for at dele et par visitkort ud, og møde folk fra 3dfacto, FL Schmidt, Vestas, DTU, altaner.dk m.fl.

Desværre måtte vi ikke tage billeder på FläcktWoods, så det blev bare til et billede i regionaltoget på vej fra Jönköping til Nässjö – vi er fantastiske!

Tore i toget
Tore forsøger at udnytte nogle af de i alt 7 timer vi tilbragte i tog og på stationer.

Ja, og måske er det en biting, men så var det jo vores første rigtige forretningsrejse til det store udland (Sverige er fandeme stort!!) og den første mulighed for rigtigt at svinge firma-plastic-kortet… og jeg huskede koden! 🙂

Summary in English
Tore and I spent this Tuesday on our first real business trip abroad – all the way to Sweden by train. We went to a seminar about automation of industrial production using a concept of “product modelling” or “product configuration”.
It was an exciting and inspiring seminar, and we both felt that we learned something – plus I got to use our company visa card, and it worked!

Developing GDL part 3 – making a custom wall

In the course on making a success company and starting a revolution in the danish building sector, I want to embed a company’s products into a wall and distribute that wall. This way, the company products can be distributed (and thereby branded) as a useful, feature-rich object in ArchiCAD. But it need to be as easy to use as “standard”-walls.
So I need to somehow make a “custom wall” in ArchiCAD and I really don’t know where to start or where to look… Here’s what I did:

  1. Cried for help in the ArchiCAD-Talk forum
  2. Collected from the answers a list of areas to investigate further:
    • I saw “Composites”, “Favorites”, “Profiles”, “SEO’s” and “Attributes” mentioned – I need to get a hold on those terms!
    • And what about “Wall accessories”?
    • Tepro in Sweden developed an add-on for ArchiCad that allows you to apply their facade systems to an ordinary wall and do stuff – I need to know more about how they did it!
    • Use the ArchiWall tool from Cigraph
    • Use the API – how does it work?

Here is what I figured out…

Enable Special Menu in ArchiCAD 10 on mac

While working on my “programming GDL part 2 – notes to self” I noticed that the toturials out there wasn’t as complete as one could wish for, so here’s a step by step guide on how to enable the famous “Special Menu” in AC 10 on mac OS 10.4:

1. Open finder and navigate to
/Users/[user name]/Library/Preferences/
path.png

2. Find the file “com.graphisoft.AC 10.0.0 INT v1.plist” (or similar) and open it – it should open in the “property List Editor” or the “Omni Outliner”
3. Find the setting “Special Menu” and enable it, by setting it’s value to “Yes” or “1”
pledit.png

3a. Alternatively, you can enable the setting by following these steps from TechNotes

4. If you had AC running, quit it!
5. Start AC.
6. Open “Work Environment”
smac10-3.png

7. Choose “Menus” from the “Command Layout Schemes” (highlighted below)
smac10-4.png

8. Below “Build or edit this menu” (to the right), choose “Menubar Options” -> “New menu”
smac10-5.png

9. Name the menu (eg. “Special”)
smac10-6.png

10. Below “Application commands and menus” (in the middle), choose “All commands by theme” and mark all commands under “special”
smac10-7.png

11. Click the button “Add selected” and hit OK – et vóila!
smac10-8.png

Developing GDL part 2 – notes to self

Trying to find my way around Archicad and GDL, I did this list to keep in mind areas of interest that should be investigated further, or just notes to self.

  • When modeling windows and doors, they should lie down, so that the height is drawn out the y-axis, and the width up the z-axis (Why didn’t anyone tell me!?!) – this behavior is by convention and has the explanation that people developing doors and windows using slabs etc. has an easier job if the object is drawn lying down…
  • oh yeah – while we’re at stupid nonsense conventions: A is x, B is y and ZZYZX is z. Why A and B is x and y I don’t know, but David Nicholson-Cole states in “Introduction to Object Making (PDF)“:

    ZZYZX is what GDL denotes for the height. This rather curious name arises from the need to call it something related to Z when ArchiCAD 6.0 came out. But it could not be called Z as many older objects from ArchiCAD 5.0 (and earlier) already used Z for other purposes and might no longer work. The GDL development team chose ‘zzyzx’ after a small town overlooking a dried salt lake in California near Las Vegas, the last town in the US directory of
    placenames.

  • Prepare localization by mapping string parameters internally to integers. This will make all comparisons work regardless how the original parameter value is spelled, and it will even better performance because comparing integers is a lot faster than comparing strings. Only drawback is that the code might get unreadable, but what the heck – this is GDL – the kind of language they used when my ol’ daddy bought his first 5.25″ floppy disk, it’s SUPPOSED to be unreadable.
  • Try to use the subtype-derived predefined parameters, this will ease the conversion to IFC and might give you more of those hidden AC-convention benefits you need to know about but no one tells you…
  • Consider the Global variable GLOB_CONTEXT when writing your scripts – this can give better performance AND higher quality of your objects.
  • Don’t divide! Multiply with a float instead. This is basic programming knowledge, but apparently, the GDL parser/interpreter has no code optimization, which leaves it up to the programmer to do the optimizations. This counts for all aspects of this scripting language, so better dig up that old 1980’s performance tricks.
  • Set BODY -1 when drawing transparent things, to make the shadows render correctly.
  • Try to always use Arial as font, as it is represented on both windows and mac platforms.

Todo:

  • Look into LP_XMLConverter and write a post about what it is.
  • Enable the “Special Menu” af figure out what it can do.
  • Figure out what the “parameter stack” is, what “put” and “get” does and write a post about it.
  • Try to find an explanation to why it’s recommended never to use “DEL TOP” except at the very end of a script.
  • Make a library, get it to work with the new AutoCAD adapter and the GDL Web Control.

More:
My GDL link collection

How to become a success

By some coincidence, I stumpled upon the secret behind Google’s success. Apparently they rely on a large number of low cost pigeon clusters (PC’s) to support their search infrastructure:

When a search query is submitted to Google, it is routed to a data coop where monitors flash result pages at blazing speeds. When a relevant result is observed by one of the pigeons in the cluster, it strikes a rubber-coated steel bar with its beak, which assigns the page a PigeonRank value of one. For each peck, the PigeonRank increases. Those pages receiving the most pecks, are returned at the top of the user’s results page with the other results displayed in pecking order.

[…]

While some unscrupulous websites have tried to boost their ranking by including images on their pages of bread crumbs, bird seed and parrots posing seductively in resplendent plumage, Google’s PigeonRank technology cannot be deceived by these techniques.

[…]

Google uses only low-cost, off-the-street pigeons for its clusters. Gathered from city parks and plazas by Google’s pack of more than 50 Phds (Pigeon-harvesting dogs)

Amazed by this blazing elegant and innovative way of achieving success in life, i started wondering what would make my life and my company even more successful, so after a few moments of thought, I developed an equally sophisticated strategy:

Equally to the Google strategy, we recruit low-cost staff for our mission: to improve communication between manufacturers and architects. The recent and mysterious lack of pigeons have led to a more aggressive and, it shows, far more effective strategy: leprechauns.
Put on in a box with a tube-shaped device on top for yelling into, and yell any message into the box. The leprechaun will immediately carry out the command, or carry the message to the nearest other box, where the resident leprechaun will do the same. Since leprechauns are specialized in running, jumping and climbing trees, almost any command or message will be carried out with immense and swift precision.
This discovery has led to a series of complex algorithms for making the communication between players in the building industry cost-effective, precise and always in time. Of obvious reasons, these algorithms cannot be described in greater detail here, but one rule should be emphasized: always have a schnapps before yelling at your leprechaun.

Currently, we are assembling an LSD (Leprechaun Service Department). Please contact me if this is of any interest.

First day at the new office

Today, I was working in our new headquaters for the first time.

Right now it’s still a bit messy, since we’re on the brink of launching our new website (in danish), and pretty busy doing that (and some thousand other things of utmost importance to the company).

p4030084.JPG
Here’s Tore working intensely in the late evening.
The view is fantastic, I’ll have to post some more pictures of the sunset some day…

p4030089.JPG
A super duper classy office headquarter. This is the lobby of the IT-university, where we reside at the top floor.

FreeBSD – my beloved

OOOOH Yeah!

I managed to borrow a 2U server from a friend for the next couple of months, to help me migrate my production and refurnish my old servers, to prepare them for running our new superbusiness webportal. It’s equipped with an Intel Xeon 2.66 Ghz CPU, 2GB RAM and a 3ware 9500S-4LP SATA RAID controller. I only had to buy the disks of my choice, and then it’s playtime.

Of course it’s gonna be FreeBSD running the thing, and while playing around with it, i might as well update my FreeBSD howto.

Look at me, I’m like a little boy again 🙂

Me and the new server

More:
My FreeBSD howto
My FreeBSD link collection

Developing GDL – the big picture

While still in the process of actually buying Archicad, I’ve managed to get hold of a demo version, to try it out for myself. My first accomplishment was a neat little house with doors, windows, a stairway and even a toilet, firmly guided by a tutorial.

My first Archicad drawing

After this first and somewhat successful encounter, I started exploring the GDL scripting language, its capabilities and editing environment. I had my hopes up for a somewhat BASIC scripting language, but still powerful and efficient for its purpose. This seems to be true so far.

What I didn’t expect was this incredibly lousy editor. Unfortunately it’s as simple as that. Archicad ships with a built-in GDL editor that, to my great frustration and sorrow, is the worst piece of inconvenient half-done crap, I as a programmer could imagine. I’d rather edit my GDL in M$ notepad, and that should say something about the quality of the editor!

My first GDL object

I’ve been browsing for other editors, and since I had a hard time actually believing what I saw, maybe for some answers to the quality of the built-in editor. I came across the ArchiCAD-Talk forum, where Archicad users where discussing newly proposed GDL coding guidelines from Graphisoft, that among others, suggests that commands are written lower case (commands has, like in BASIC been written upper-case so far):

Case, indents and comments are the only tools we have to make scripts readable. I see no reason to promote a standard which abandons one of these features.

… and the talk goes on with wishes for line numbers, syntax highlighting and auto indentation.
The discussion is from 2004, but nothing really seems to have changed since then.

I have been programming C, Java and C# for a couple of years, and for my part, the tools I use are of the essence. I’ve been used not only to syntax highlighting and auto-indentation, but to auto-completion, tool-tip help and code snippets that help me code the trivial tasks faster and more efficient. This GDL-editor is like returning to DOS, writing .bat scripts with edit – *sigh*.

My hunt for other (and better) editors has resulted in the following:

One editor being used is the 3nf GDL scripter. It has syntax highlighting and line numbers, but the website has not been updated since 2004. I’ve tried it on my XP SP2, and it keeps crashing. Further, if I open an object in ArchiCad made with GDL scripter, I’m issued a warning, that this object is made by an external editor and yada yada yada – certainly not a message I want my customers to be met with.

Then there’s a GDLedit highlighting plugin for a number of editors, including vim and emacs. This could be used for editing the GDL scripts in an external editor, and copy-paste it to Archicads built-in editor.

That’s it. No more editors as far as I can see (let me know if you know any!) – This leaves me somewhat depressed.

Now, why would Graphisoft, a company that has invested so much effort in parametric objects and BIM, abandon the project like this?

Daddy is not angry, daddy is disappointed.

I’ve heard so much about the wonderful GDL-society and the good-spirited, open-minded and ambitious people populating it. But all I find is dead links and closed websites, old tools and people complaining about the stand-still in the developing of new ones.

I hope I’m wrong, that there’s some great, wonderful tool out there being developed or just overlooked, that someone will post the missing link sometime soon. Until then, I’ll be checking out what Autodesks Revit, Bentleys Microstation or maybe IFC can do for me.

More:
My GDL link collection
My IFC link collection