Some questions before purchasing BricsCAD Platinum :+)

Hello all,

I gather that BRX has the ability to use ObjectArx, does it contain the API for Civil3D, using c++?

If not, then one of my aims with BricsCAD is to make some objects similar to those found in AutoDesk Civil3D. To this end, I am wondering if it is possible to inherit from an existing class. For a starting example, I would like to make my own "smart point" class, one that can have it's own user created point and label styles, and know which Point Group it belongs to.

With regard to compiling, are there any restrictions on which compiler is used? Ideally I would like to continue to use clang++.

How well does BRX work with the current c++ standards? Will I be able to use c++14 or soon c++17 features?

I guess I can try the 30 day trial :+)

Thanks in advance for any help, and I look forward to developing with BRX :+)


Comments

  • Dear David,

    our BRX is source-code compatible with ARX ... but Civil3D is not part of ARX, strictly spoken - it is a kind of "third-party" application on-top of ARX, using custom objects + entities.

    BRX supports custom objects + entities very well, so your custom point should not be a problem at all.

    BricsCAD + BRX are shipped with sample applications, also for BRX, and it also contains a simple custom entity, for demonstration.
    The BRX sample uses the CodeBlocks projects, as we have good experiences with it.

    For the compiler :
    as usually for plug-in modules, you will need to stick to the same compiler (and CRT runtime environment) as the host system (BricsCAD here) -
    this means, you will need GCC 4.6 ...
    I do not know whether clang will be able to link with GCC generated modules ?

    BRX is not about C++ standards - as your code links the BRX libraries, this does nto matter ...
    but you should keep in mind, that sticking to just-published features
    a) can trigger compiler/linker & code generation issues (just the compilers are not yet matured enough with the new standards)
    b) it will also require higher CRT libs + environment on your client machines ... and I would guess, many users will not like to update their stable environment to be able to run your modules under BRX, only as you are eager for new C++ standards :-)

    So I would suggest (from my own experiences) : stick with a matured standard, GCC 4.6/7, C++11 actually ...

    Besides, if you register yourself as developer, you will get a free developer license :-)

    hope this explains a bit
    many greetings !
  • Hi Torsten,

    Thank you for your generous reply :+)

    I have just picked up my new Laptop, so I will be keen to get that set-up with Ubuntu KDE and then purchase BricsCAD.

    In terms of things I would like to achieve, BricsCAD looks very promising, but I guess I will start out small - there is plenty to learn :+) Will have to look at what is available in the existing system and go from there.

    So with gcc 4.6 & c++11, I am sure that will be fine - although I have grown fond of c++14's constexpr and auto .....

    > " I do not know whether clang will be able to link with GCC generated modules ? "

    I guess I will stick with the status quo before venturing into messing with the build system - I don't have enough knowledge to do such a thing.

    With my custom Point object, that would only be the very beginning of what I would like to do. Ideally I would like to implement many of the things found in Civil3D, particularly the philosophy of "smart objects". That is, objects who are aware of which objects they are connected to, and can redraw / reorganise themselves when a neighbouring connected object changes. I guess it is a case of re-inventing the wheel somewhat, but I like the idea of this sort of capability on a Linux CAD system.

    The other thing is, I am only a hobbyist programmer - so who knows how long it might take to get things done (might need 100 years to catch up to Civil3D on my own!!). But others may want to collaborate, which would be great :+)

    I hope everything is going well at your end, and thanks again for your help - Regards :+)
  • Dear David,

    many thanks for explanations ...
    as mentioned, if you register as developer, you might get your free development license :-)

    Personally, I actually use Linux Mint 17.3 - found that the strange Unity interface costs 5 x more mouse clicks for professional work ... but of course, personal choice.

    That BRX sample shipped with BricsCAD + BRX SDK) uses CodeBlocks, there is also a sample project how to incorporate WxWidgets as GUI system, and this CodeBlocks sample project shows the 2,3 detail tricks to get BRX module built properly - especially the "export all" + "import all" from an otherwise "unused" static library.

    What you describe with custom objects should be no problem at all ... we have many applications built on BRX, usign "smart logic" in their custom objects ...

    Good Luck & many greetings !
This discussion has been closed.