Hi @Aaditya Saraf, let's move the conversations about editing NURBS to this stream/topic.
Let me point you to some places, where you can read about the work already done:
@Daniel Rossberg hmm I read a bit about what Gregory implemented, it sure is quite fascinating but a little too difficult for me as a beginner, is there an easier project in your mind?
@Aaditya Saraf that wasn't to scare you off the topic -- it's just a practical reality that dealing with nurb is advanced concepts and hard. If you're comfortable working with the structures, any of those topics I mentioned would be fair game for a solid proposal. You'll just definitely want to demonstrate by way of a PR or something that you know what you're doing and scope something appropriately.
CLI-editing of NURBS as described on the task description should be pretty straight-forward to really any developer as it's primarily manipulating the underlying ON_Brep data structure, and your familiarity background will definitely give you a leg up. The only issue is there's not really much in the way of guides on what/how to do other than talking with us here (which happy to do!). You can and should certainly read up on the OpenNURBS API (ON_Brep in particular).
The only nurbs-related guide we have in BRL-CAD is nurbs boolean evaluation, which is also a hot topic but even harder than an editing interface for sure. The dead wiki link in the project idea can be reached here and has a lot more specific edit info: https://brl-cad.github.io/wiki/task/NURBS_Editing_Support/
As for next steps, I'd suggest starting there and see if you can actually do any of the listed edit operations. Like show you can edit an existing nurbs cube and delete a vertex, or even show you can create a unit cube manually through edit commands.
A message was moved here from #brlcad > general chat by Sean.
Aaditya Saraf said:
Daniel Rossberg hmm I read a bit about what Gregory implemented, it sure is quite fascinating but a little too difficult for me as a beginner, is there an easier project in your mind?
@Aaditya Saraf, how is your state? Did you compiled BRL-CAD from sources?
Daniel Rossberg said:
Aaditya Saraf said:
Daniel Rossberg hmm I read a bit about what Gregory implemented, it sure is quite fascinating but a little too difficult for me as a beginner, is there an easier project in your mind?
Aaditya Saraf, how is your state? Did you compiled BRL-CAD from sources?
image.png
I cloned the repo, but can you tell me how to build it and what are the requirements, it wasn't in the readme there and this site isn't working either
Hey @Daniel Rossberg , it's been a while. I've been incredibly busy with some academic work for the past few weeks, I am really sorry. I have built and installed brlcad using cmake, I suppose we run archer.exe?
![]()
I’d like to start writing and testing NURBS-related code. Could you guide me on how to get started with that in BRL-CAD? or if you like me to solve any beginner friendly issues? anything is fine
Hi @Aaditya, nice to hear that you succeeded building BRL-CAD from sources. For the tests, you can use archer or mged. Both are fine.
There is another NURBS editing topic #brlcad > NURBS editing with some examples. You should try them to get started.
@Aaditya you'll find there's not much "beginner friendly" when it comes to nurbs -- they are intrinsically an advanced topic, something not even usually covered in a full semester first year computer graphics course. That said, you'll definitely want to check out the brep command since that's the current workhorse interface for working with brep/nurbs. It's in src/libged/brep and related library details in src/libbrep. Lots of other topics discussed at https://brl-cad.github.io/wiki/task/NURBS_TODO/ and very specific potential area of work described in detail at https://github.com/BRL-CAD/brlcad/blob/main/doc/asciidoc/devguides/bool_eval_development.adoc
One thing you could do that's not terribly hard is look at the current usage of brep and to write it out in synopsis form. Then spend the time and design what the synopsis would look like at the end of gsoc per the goals of your project (e.g., editing). As Daniel mentioned, the other thread has lots of discussion about the synopsis design, so definitely should start by reading everything there.
Last updated: May 03 2026 at 01:53 UTC