Receive Posts by Email

Blog Home

It’s Easier Using 3D Solids

Tue Nov 27, 2012

In my last post I constructed a thin walled 3D body of a teapot from surface data using surfacing operations.  Whilst the code I used worked it was more complicated than I expected when I started, so I took a second look at the workflow.  Once again here is the description of the input data:

Tags: 3D Modeling

Read More 0 Comments

Making 3D Solids from Surface Data

Mon Nov 19, 2012

Recently I was looking at some surfacing operations and I thought it would make an interesting case study to complete the entire workflow of building a 3D solid model from a set of surfaces.  My idea was simply to join the surfaces together and then thicken the resulting sheet body to make a thin walled solid.

Tags: 3D Modeling

Read More 0 Comments

Scripting: It’s Not Just for Browser Apps

Mon Aug 20, 2012

In my last post I mentioned C3D Toolkit, our JavaScript-based demo application, and said I’d discuss it more in another post.  Well, here it is :)

Tags: 3D Modeling

Read More 0 Comments

Double, Double, Trouble

Tue Jun 19, 2012
While procrastinating (avoiding writing this blog entry for as long as possible), I debugged an interesting problem.  This gives me something to talk about here.  What follows might be simple or obvious, but I find that considering tiny details very carefully is a good way to improve the quality of the code I write.  Consider the following code snippets

Tags: 3D Modeling

Read More 0 Comments

Application-Driven Development in Action

Tue Jun 5, 2012

Today, I’m going to discuss how we’ve been using Application Driven Development (AppDD) principles in our work on CGM.

Tags: 3D Modeling

Read More 0 Comments

What's Up With the GPU?

Thu May 17, 2012

In my previous post I discussed the various multiprocessing technologies at my disposal. These are: OpenMP, MPI, PPL (Microsoft Concurrency Runtime), the ACIS thread manager, and the CGM multiprocessing infrastructure. As it turns out, I overlooked a completely relevant technology, the GPU. I would like to correct this oversight and pass along my experiences in adapting the primality algorithm used in the previous discussion to run on a GPU.  (Look here for a brief introduction to GPU computing)

Tags: 3D Modeling

Read More 0 Comments

Subtleties of B-rep Translation (Part 2); Why Form Matters

Fri May 4, 2012

'Form' in mathematics manifests itself in all manners of perspective and discussion. From your earliest mathematics courses, professors drilled home the discipline; “return all answers in simplest form”. My youthful efforts to dismiss the need yielded discussions as such; “OK, please graph this 

Tags: 3D Modeling

Read More 0 Comments

Subtleties of B-rep Translation (Part 1); Why Sharing Matters

Thu Apr 5, 2012

In my last post, I introduced our idea of B-rep Health and the notion of "legal" but bad B-rep modeling data. Literally, the day after publishing that post, a beautiful, classic case came into development where a "remove face" operation failed due to unhealthy B-rep data. And again, as we see so many times, the culprit was bad translation (unknown third party translator). It’s a nice example. But it’s not that the pathology can be described so conceptually (it can - you will see), more, it shows the subtle, implicit information that is maintained inside a B-rep data structure; information you might not know is used. And lastly, it shows why the fundamentals of B-rep data translation are so important.  

Tags: 3D Modeling

Read More 0 Comments

Beyond TDD

Fri Mar 30, 2012

Today, I’ll be diving into alphabet soup of TLA’s.  For this I apologize in advance – those TDD guys started it!!  First though, a little reminder:  Spatial is a software component, rather than an end-user product company.  So most of the discussion below is in the context of developing components that will be used by customers in their applications, as opposed to developing applications that will be used by end users to get something done.

Tags: 3D Modeling

Read More 0 Comments

Finding Prime Numbers

Mon Nov 7, 2011

I’m generally disappointed when I come across source code examples for multiprocessing technologies that use trivial algorithms to demonstrate the simplicity of an implementation. This not only establishes expectations that are unrealistic but also hides details that are painfully discovered when applied to more complex code. We are after all, trying to improve performance in our real-world applications with multiprocessing by targeting algorithms that have a real impact on the end user, which probably does not include a bubble sort.

Tags: 3D Modeling

Read More 0 Comments

Recent Posts