Happy New Year, C++, Crypto and Content

Happy New Year to one and all!

Happy New Year!

I had a great break over Christmas and New Year and hope you did as well.

I did continue checking into the Revit API discussion forum anyway throughout and had several interesting discussions with the busy souls hanging out there.

Some topics to get started with the year:

C++, Audio, Crypto and Security

I obviously chatted with my kids, some of them rather dispersed.

Chris is embarking on new programming adventures in C++ land.

He pointed out a couple of cool projects he is delving into, e.g., the OpenAL cross-platform 3D audio API and the PureData open source visual programming language that can run on anything from personal computers and Raspberry Pis to smartphones, enables you to create software graphically without writing any code, and can generate output in multiple formats, including C++ suitable for OpenAL and C# suitable for Unity programming.

Cool stuff.

He also pointed out the funny presentation of a favourite C++ feature by James McNellis and a fundamental Crypto 101 by Laurens Van Houtven at PyCon.

A friend of my daughter, Appenzeller, implemented an online C++ password strength evaluator complete with a visualisation of the decomposition graph and full documentation and source code.

Password complexity graph

Prayer of the Mothers

On a less technical note, other friends shared the very moving song Prayer of the Mothers by Yael Deckelbaum featuring singers from all sectors and religions of Israeli society:

It was born as a result of the movement 'Women Wage Peace', which arose during an escalation of violence between Israel and Palestine, prompting Jewish and Arab women to begin with the joint 'March of Hope' project.

Avoid Remaking CAD Content

Let's close with a Revit API related discussion on how to avoid the remaking of CAD objects:

Question: We are an office furniture manufacturer that purchased the Revit software in order to offer our customers our products in the .rfa format. We have hundreds of products in CAD and various other 3D formats. We've been told we would need to remake every one of our products in Revit from scratch. However, I've been able to import our CAD files and work with them in the software but I was told that because they weren't made natively in Revit that they're essentially useless. Is this true and if so, what sort of training would be required to move forward? Can't we just add the dimension information to our previously made items within Revit? We've been quoted thousands just to make a portion of our library into Revit families and we've already spent thousands leasing the software thus far with no success.

Answer: Sorry to hear that this issue is troubling you.

I always recommend generating all such libraries completely parametrically from scratch.

That would have meant, way back then before you created any CAD content at all, defining a programmatic way to generate that CAD content from a database of parametric definitions and lists of dimensions of all your library parts.

I have been recommending that approach (mostly in vain) for about four decades now.

The people who listened to it back then are very happy now that they did.

They are all too few.

Most people go and implement CAD content by hand, over and over again, every time the system changes.

Well, so be it then.

If the content is generated programmatically from a database of rules and dimensions, you can simply implement a new content generator for each system that you wish to populate. The database content driving it remains unchanged.

Back to your issue at hand:

If you have tested using families based on the imported CAD geometry in Revit without problems, then that is obviously a feasible option.

However, you really need to ensure and verify that this works reliably under all circumstances.

For instance, if you are a chair manufacturer, try using your CAD-import-based family in a hospital or airport with thousands or tens of thousands of instances.

That may cause problems.

Furthermore, it might not be easy to equip the CAD-import-based parts with all the dimensions that drive their different sizes, aka family types aka symbols.

Here is a recommendation to think twice before importing CAD into RFA.

Good luck finding an efficient and viable solution for your task!

Response: Thank you so much for your reply,

Your post along with the provided links will help me rationalise to the company why we need to create the content natively.

I'm essentially a one-man band over here and re-making all of the thousands of items from scratch, especially when coding is not my forte, is not a feasible option.

I greatly appreciate your reply!