Bridging the gap between schematics and reality

Over the last year I’ve been working to devise a convenient way to design cable paths. What I mean is to be able to show locations of equipment on architectural plans, and the paths of conduits, trunking or cable tray that will carry the cables that inter-connect the equipment.

It’s a problem that’s nagged me for many years. At one point in my life I was involved in designing broadcast TV signal distribution for a large international sporting event. As a design experience it was like wrestling jelly.

Real world cable path design is not a stately progression from schematic to details of trays and conduits . There are big rocks in the road. When you get to the site you’ll find problems like the aircon people have filled your hole in the concrete with their duct. And that’s not all – you get caned for over-capacity and vilified if the pipes are too narrow. It’s a no-win situation.

As a broadcast or audio-visual designer, the detail of cable-carriers are not your job- electricians do that. BUT they need a specification to work from. They need to know where the ends of the cables have to be, how many cables of what type go from where to where, and maximum lengths and bends radius limitations. So they need a plan like this.

Cable Path Specification
Cable path specification

Your boss will also be nagging you for an estimate of how much cable long before the electrical contractor can give you actual path lengths. So… in fact you do have make your own design of cable paths. Only by modelling in 3D can you really get a proper estimate of the lengths.

3D Cable Path Model
3D Cable Path Model

But, you definitely don’t want to show that to an electrician. In the construction industry people are trained to seek any opportunity to avoid responsibility and throw blame on others. So if you hand your electrical guy a plan like the one above, regardless of practicality he’ll go put the conduits exactly where you drew them and produce your drawing if anyone complains.

So our problem becomes one of making fast convenient tools to do a fairly detailed design for estimation purposes but be able to present it as a specification drawing with paths shown as  arcs, plus a “riser diagram” which just shows connectivity.

Riser diagram
Riser diagram

We also have the problem of finding the cable tray fills. If we have a schematic of our system or a cable list then we know the theoretical inter-connections. So it then becomes a case of assigning physical paths to these. In many cases (but not all) there will be only one path. Analysing cable tray networks into discrete A->B paths is not altogether simple since there may be loops in the topology.

As you can see from the drawings above, we’ve been making progress. However…

In to all this soup came Revit. The reality is that more and more projects are beginning life as a Revit model. That raises many questions.

We wanted to bring cable path planning into connectCAD 2016 but our feeling is that we need a closer look at where our data is coming from. The days of 2D plans and elevations are numbered. Perhaps the question is a different one? How can we depict cable paths in Revit and extract their topology, connectivity and lengths?

Has you’re life as a designer brought you in contact with this? Comment below. It’s good to talk 🙂

Happy new year! Stay connected

Coming up in connectCAD 2016

Coming up in connectCAD 2016:
Cable Paths extend beyond schematics to the physical world:where the cables go in a building,what are the specific locations of wallboxes/cable drop points & the paths between them.You’ll be able to make your own customised Devise Placement Tools that can insert into circuits, eg, if you’re designing RF distribution systems you can create your own handy tools for splitters / taps etc. using duplicates of Insert Device each set up to place a custom device symbol..

Read more

Knowing where to tap…

from Mark Buckton – absolutely brilliant!

A Giant Ship Engine Failed.
The Ship’s Owners Tried One Expert After Another, But None Of Them Could Figure Out How To Fix The Engine.

Then They Brought In An Old Man Who Had Been Fixing Ships
Since He Was A Young Man.
He Carried A Large Bag Of Tools With Him, And When He Arrived,
He Immediately Went To Work. He Inspected The Engine Very Carefully,
Top To Bottom.

Two Of The Ship’s Owners Were There, Watching This Man,
Hoping He Would Know What To Do.
After Looking Things Over, The Old Man Reached Into His Bag And
Pulled Out A Small Hammer. He Gently Tapped Something.
Instantly, The Engine Lurched Into Life. He Carefully Put His Hammer Away.
The Engine Was Fixed!

A Week Later, The Owners Received A Bill From The Old Man For Ten
Thousand Dollars.

“What?!” The Owners Exclaimed. “He Hardly Did Anything!”
So They Wrote The Old Man A Note Saying, “Please Send Us An Itemized Bill.”

The Man Sent A Bill That Read:
Tapping With A Hammer……. …….. …….. $ 2.00
Knowing Where To Tap……… …….. ……… $ 9,998.00

Labelling conventions and human nature

Labelling when you think about it is what keeps the world organised. And in our crazy little world with all its wires and connectors without some kind of labelling system we would soon lose our way.

The completely arbitrary nature of labelling makes it a special challenge for a CAD developer. We’d love to provide you with super-automated tools for this, but no matter what road we take someone will tell us it’s wrong, or agree with us but not be willing to change their habits.

Take patch panels for example. Some people label them like this:

A 01 02 03 04 … 21 22 23 24
B 01 02 03 04 … 21 22 23 24

C 01 02 03 04 … 21 22 23 24
D 01 02 03 04 … 21 22 23 24

So the top row of a panel has one letter, the bottom row has the next letter and the patch points are numbered across.

Others like it this way: each panel gets a letter to designate it and the patch points are numbered left-to-right then top-to-bottom.

A 01 02 03 04 … 21 22 23 24
A 25 26 27 28 … 45 46 47 48

B 01 02 03 04 … 21 22 23 24
B 25 26 27 28 … 45 46 47 48

The snag here is if there aren’t enough connectors you can’t easily change the patch panel size in mid-design. A good workaround for this is to label panels as though they were 50-way regardless of actual size:

A 01 02 03 04 … 21 22 23 24 (25) (26)
A 51 52 53 54 … 71 72 73 74 (75) (76)

That let’s you easily extend your panels to 26-way or 32-way without having to re-work everything, and makes efficient use of the available namespace. That’s quite smart. And if I had to pick one this would probably be it.

Most people agree you should skip the letters I and O because they can be confused with the numbers 1 and 0. But guess what? there are some folks in the world who didn’t do that and now they’re stuck with the system they have.

Others like to use numbers throughout and add a prefix to show if it’s a video or audio patch panel like this:

V01 01 02 03 04 … 21 22 23 24
V02 01 02 03 04 … 21 22 23 24

V03 01 02 03 04 … 21 22 23 24
V04 01 02 03 04 … 21 22 23 24

And many variations on these themes exist.

And then we move on to location-based naming. Great idea but very hard on the designer. Think about it… In order to know what equipment you have to mount in racks, you will probably have to finish the schematic designs first, right? So you do the rack layout and then go back and label your patch panels! and guess what happens if you have to modify the schematic???

By now you’re probably beginning to see how the simple business of writing a patch panel tool becomes a nightmare of complexity.

The problem with labelling conventions is that people are very attached to their own way of doing things. And with some justification because who wants to go back and re-label everything?

But there’s another psychological dimension to it. The more arbitrary and fundamentally insignificant the decision the more emotionally invested people become in it. A well-known cognitive bias known as “bike-shedding” or Parkinsons Law of Triviality. In labelling there is no absolute truth so you can fight to the death over it and NEVER, NEVER BE WRONG!

The lost opportunities of data validation

Conventional programming wisdom says you should always check any data input from the user and exclude anything that your code cannot cope with. [“User” … a strangely demeaning term for a person whom you are trying help. We need a new more respectful word for the people who are left struggling with the results of our coding. ]

Anyway, the normal practice with data validation is to only pass on whatever gets through the filters for further processing. All well and good. But what about the input you reject?

99% of the time when input is rejected the only action taken is to present the “user” with an suitably arrogant message.

"ERROR: We can only accept your information if you kneel with your knees exactly 10cm apart in front the great computer and bow deeply".

But what we as programmers routinely throw away contains vital nuggets of information – the cases we did not properly consider. Take my address for example. I live in a village where there are no road names or house numbers. What happens when I try to order something online?

I come up against the preconceptions of the programmer who designed the address form. House number and street name are required fields into which I’m  forced to enter rubbish just in order to get my order accepted.

The fact that the program is expecting a house number and street name in each case is a design flaw.  That information should be captured and fed back to the programmer.

the penny dropped!

Blogs are the new confessional, a place to cleanse the soul by publicly admitting  failures. My question to the powers that run the universe is:

“why has this taken me so long to think of ?”.

Problem: connectCAD likes objects to be on the grid

Solution: laboriously click on each object and drag it back onto the grid


About time too. How come I didn’t write this simple and useful command all these years? Still kicking myself.

Thanks to Edward Kitchingman for finally jogging my mind.

Learning (from other people’s mistakes)

Being on the receiving end of other company’s customer service is a wonderful education. Just look at how “Krikor” from JoomlaWorks handles my question. Every mistake in the book.

If anyone catches me talking to a customer like that, I will personally fire myself from my own company.


[just a little bit fed-up with having bought a Joomla module that under-performs, but I’m still polite if a little ascerbic.]

Really happy with the way FrontPage SlideShow works on laptop screen but alarmed when I brought the site up on a tablet. I see from the Joomlaworks forum that FPSS is not responsive – period. To be quite honest it didn’t even cross my mind that such a thing could be possible in 2015.

Please confirm one way or the other and if ( responsive ) { tell me how it’s done } else { please refund my subscription – FPSS is no use to me }


note that I’ve asked a specific question here.

Customer Service:


Since our company is offering non-tangible irrevocable goods we do not issue refunds after a subscription is purchased, which you are responsible for understanding upon purchasing. Please make sure that you have carefully read all relevant documentation and tried out the demos.

Sorry but if you have read our Terms & Conditions here:
you would have known that.

If you want assistance with creating a responsive template (we have some ready) let me know.

unbelievable attitude here !!! “we’ve taken your money and we’re hanging on to it – if you have a problem it’s your fault… oh and by the way there is a solution but I’m not giving it to you unless you beg me…” AND no answer to my question.


Thank you for your reply. You have not clearly answered my question as to whether FPSS is responsive. Would you care to do so?

Of course you are right that the subscription I have paid is for not for the software itself, but for your professional support. Yet there is already a question-mark over that. Please look again at your reply. Only the last line in your email actually addresses the problem that I face i.e. that FPSS as supplied is not responsive and fails on tablets and phones.

If you have a solution to this and I mean one created by Joomlaworks, then please point me to it. You say you have some templates ready so shouldn’t you have already done that? Should that be included with the product? It isn’t a really good use of my time forcing me to ask you yet again for a solution that you already have.

Drawing my attention to your terms and conditions is irrelevant ( unless you happen to be a lawyer ). Reputation is what matters in our world. Looking forward to your pro-active and helpful reply.

Trying to restrain myself here…

Customer Service:

I am asking to know which template you want use, so I can post the proper adjustments.
Inappropriate use of the present continuous … this was not asked for in the previous messages. Still no answer to my question.


assume you mean FPSS template, not Joomla template. Currently using Movies.
Let’s at least be clear this time.

Customer Service:

And FINALLY we pry the solution out…. still no answer to my question.

First of all you need to override the template so you won’t lose any changes when you update.

1) Create a template override of the template you are using for your FPSS module, i.e. FSD. Read here how to under “MVC TEMPLATING: THE POWER TO CREATE UNIQUE SLIDESHOWS”.
2) After you have correctly copied the files in your template’s folder, you will have to edit the template.css.php file in templates/Your_template/html/mod_fpss/Movies/css/

Try adding this gist ->

If this is causing visual errors (not all templates/ sites etc ) are not the same, send me a link and Super User access so I can provide a solution.

give YOU Super User access? you must be joking mate!
Realise that the last two posts have been customer service rants. Perhaps that’s a bit boring, but you know there’s no reason to suffer this – on either side. There’s such a real satisfaction in knowing that you’ve helped someone out, I really don’t get people like Krikor. What extra does he get for doing his job so badly?

“When it absolutely positively has to be there overnight”

Well here I am looking forward to setting up satellite internet. I surveyed the rooftop – good view of the sat. So placed my order and hey, the stuff arrived.

Or so I thought…

well only 2 of the three packages made it. I’m sitting here looking at a beautiful new dish complete with transceiver block and a cool-looking modem but … the bracket to mount the dish is on a tour of Europe organised by Fedex.

The tracking page reads like the travels of the garden gnome from the film ‘Amelie’. London, Paris, Madrid, back to Paris, Cologne, a couple of days in Cologne for some shopping. No news at all about today. Is Thursday a day off in the Fedex-world? No wonder it took them four years to find Tom Hanks 😉 Will my mounting bracket be washed up on some desert island?

Software development addict

There’s a special thrill about computers that only we nerds feel. We are the sorcerer’s apprentices who peek into the Spell Book while the master’s away. Our experiments run wild sometimes flooding the basement.

But here’s beauty of it – in our contained little world of keyboard and screen what’s the worst that can happen?

       “oh, well …”

As you hone your spells and perfect them, their enchantment takes hold of you. You can’t stop tweaking, adjusting and improving. There’s always a better way and there seems to be no limit.

It’s all about how we understand are world. Teaching something as stupid as computer to do things makes you question everything you take for granted. Common sense. What is common sense? As you probe deeper into a process you find out more and more. What are the rules that govern it? Can they be expressed clearly enough for the dumb machine to execute? What are we really thinking about when we decide if a job is done or not?

Mickey Mouse didn’t get his loop exit condition right before the master returned to his wet lair and pressed Control-Alt-Delete. But perhaps if Disney had let him, Mickey would have debugged the spell and tried again. Once you start you can’t stop.

A creative space…


Greek island ferry trips in the winter. Four and a half hours of un-distracted time on the deck in economy class. Low rumbling engines, wind lashing the after-deck and rolling rolling on the swell. The buzz of a political discussion in Greek from a neighbouring group of islanders – a language I understand well but as a foreigner doesn’t penetrate my psyche. So I tune out leaving only the friendly sound of humanity.


Time without the pressure to accomplish anything. A parenthesis in the modern world. If I do nothing that’s fine. Mildly bored, relaxed the mind wanders open to any thought that might break the monotony.

Idly playing with software and ideas, inspiration strikes! A old dead-end opens into a wide avenue. Away from this wild and rolling seascape how dull the mind becomes in the constant din of everyday life. But in the sweet boredom of life at sea, like Ishmael in Moby Dick the mind rambling the landscape of consciousness peers over into the unconscious making out strange shapes in the mist.