Can anyone point me to where to fill out the forms to register for BricsCad SDK?

I have been a long time AutoCAD user and just recently purchased BricsCad Pro V18.

I'm fairly proficient with Autolisp and some VBA. I'd like to try writing some BRX now that I have the time.

Comments

  • Mr. Moses,

    I successfully registered as a non commercial application developer. What's next? is there a download portal? will BricsCad send me additional information were the SDK can be downloaded? I also submitted a support ticket after submitting my question on this forum.

    Thanks again for your help,

    Jim

  • Dear MrArch,

    you should receive a confirmation email (also an answer to your support request), and this will guide you to the BRX SDK download ...
    many greetings !

  • Thanks for your help.

    I am extremely impressed with BricsCad and all your support. I am looking forward to some serious customization in BRX that I never go around to in ARX using AutoCAD for many years.

    I have downloaded everything I need, I think and also received your message about configuring Visual Studio to version 10.

    Cheers,
    Jim

  • I'm using Visual Studio 17 Community Edition (free). I downloaded some SDK's 2018-2015. The documentation says:

    The BRX build configurations target BricsCAD V17, using "v120" platform toolset (VS 2013, VC12).

    Torsten Moses wrote " To create a BRX module, the code needs to be compiled by Visual Studio 2010 compiler;
    so you need VS 2010 being installed, and you could as well use VS 2017 then, with "Platform Toolset = 120 (VC 2010)" setting.

    I found some documentation for changing the toolset in VS 2017 to 120 but that toolset does not appear to be included in the community edition.

    Do you know if the toolset is available or is there any other open source C ++ compiler that would be compatible?

    Must be Win 10, 64 bit

  • Dear MrArch,

    there is no other compiler possible - as a DLL module (the BRX module) needs to use the same CRT runtime & memory management as the "host" system, which is BricsCAD, also created by VS 2010 / VC12 compiler.

    The dilemma is, that you will need VS 2013 also to be installed (say, the Express or Community edition), parallel to your VS 2017 ... then the "Platform Toolset" listbox should automatically contain the "VisualStudio 2013" entry.

    But it could be that the VS 2017 Express/Community edition does not support the "Platform Toolset" feature ?
    Then, you need to use the VS 2013 Express/Community edition directly.

    hope ths clarifies a bit ?
    many greetings !

  • Torsten is correct that Visual Studio 2010 is required for building native BRX modules that load and run in BricsCAD V15. However you can use more recent versions of Visual Studio to build managed modules using BricsCAD's .NET API, and these will load and run in V15. You need to specify .NET 3.5 (or maybe 4.0?) in project settings. There are samples in the API\dotNet subfolder of your BricsCAD installation.

  • Owen, Wow, the big guns. This really brings back memories. I had read that you were associated with BricsCad, smart move I think. This issue is beginning to remind me why I didn't peruse learning more ARX over 10 years ago while I was more active with programming CAD. I have actually tried your suggestion of also changing the net framework to lower settings than the default 4.6.5?

    I also installed a version of VS 17 Pro. and made sure to check every box on the install so it would load everything possible.

    There is not much documentation for installing any BricsCad BRX samples but it appears to be about the same as loading an AutoCAD ARX plug-in project sample. As a Novice, a little more documentation would be welcome.

    After starting VS I created a class library. I don't know that I had all the dependent files loaded correctly but what I do know is that after getting that far, I went to project properties > General > Platform Toolset pulldown and there were still only 2 choices, V141 that ships with VS 17 Pro or inherit from files. I chose inherit and it immediately said V100 is not installed.

    I am of the opinion now that installing earlier versions of the platform toolset is not possible. in VS 17. I think it is going to require installing VS version 10 side by side with VS 17 Community. Version 10 is no longer available through Microsoft but It can be purchased for about $40.00 bucks on Amazon.

    FYI, here is what I was able to find from MS docs. https://docs.microsoft.com/en-us/cpp/build/how-to-modify-the-target-framework-and-platform-toolset. It says, " in the right pane, select Platform Toolset and then select the toolset you want from the drop-down list. For example, if you have installed the Visual Studio 2010 toolset, select Visual Studio 2010 (v100) to use it for your project." It suggest that other versions of the platform toolset are installed but they are not. I have not found anything about how older toolsets can be installed. Most of what I have read is that it is not possible. I contacted MSDN and MS Community, no answers there either.

    Thanks anyhow.

  • Before investing in VS 2010 to build native BRX, I advise you to try the .NET API with your VS 2017. Not quite as powerful, but it's a lot easier to get started.

  • **Torsten Moses wrote: **
    January 18 Answer ✓ Flag
    Dear MrArch,
    there is no other compiler possible - as a DLL module (the BRX module) needs to use the same CRT runtime & memory management as the "host" system, which is BricsCAD, also created by VS 2010 / VC12 compiler.
    The dilemma is, that you will need VS 2013 also to be installed (say, the Express or Community edition), parallel to your VS 2017 ... then the "Platform Toolset" listbox should automatically contain the "VisualStudio 2013" entry.
    But it could be that the VS 2017 Express/Community edition does not support the "Platform Toolset" feature ?
    Then, you need to use the VS 2013 Express/Community edition directly.
    hope ths clarifies a bit ?
    many greetings !

    If you go to any Microsoft download site you will find 1. Earlier VS version are not available, period. Express (a free version is discontinued) I believe it is now just called Community version but only V17 can be downloaded. I spoke to some folks at MSDN, The sell subscription versions of VS, big $$$. They said it was possible for them to supply earlier platform toolsets for those who have current (volume) Enterprise subscriptions. It sort of makes sense to me, Version 10 - 13 was current while Win 7 was the current operating system. Any older win 7 SDK's would conflict with Win 10 and MS no longer supports Win 7.

    It seems the only easy way to get an older version of the VS v100 platform toolset is to find and install it along with VS 17 (Community or Pro). VS version 10 and 15 are readily available on Amazon. I only found one source for version 13 on EBay but it ships from Germany! I would go ahead and buy but since only one or 2 toolset versions are available with any release of Visual Studio, I need to know the version any of the V18 SDK's I'm trying to install actually use before buying software that cannot be returned.
    It appears to be V100 I need not v120. V100 would be current with VS version 10. Why would I need VS version 13 as well?

    I didn't try installing any older BricsCad SDK's v15,16,or 17 but I think they all use the same platform toolset v100 or perhaps even v90 which would be for the most part obsolete.

    I seems clear to me that Microsoft expects all software developers to upgrade even if it means changing code and re-compiling everything.

    I may go ahead and buy a version 10 but it would be very helpful if BricsCad could confirm that the v100 toolset platform is what is needed before doing so.

  • Dear MrArch,

    some hints to get some lights in this dark tunnel :-)

    Approach A - using BRX
    here, your code needs to be effectively compiled by VS 2013 compiler (VC12), no other choice.
    If you use VS 2017, then you need that "Platform Toolkit v120 / VS 2013") - but "Platform Toolkit" is not a product by itself :-)

    Effectively, a higher VisualStudio can involve an older compiler, if that older compiler is installed on disk, as VisualStudio product - then it borrows the compiler from there.
    I have attached a screenshot from my VS 2018 - you can see, more than "2 platform toolsets only" :-)

    It can be possible, that newer VS versions (VS 2017) automatically bring 1 or 2 older compilers in minimum fileset with the installation, thus, it could be possible that VS 2017 co-installs 1 or 2 older compilers ...
    but basically, all newer VisualStudio installations check existing installations (per Registry), and each found, older VS is included in the "Platform Toolset" list - see my screenshot;
    my oldest VS installed here is VS 2005 ... but "Platform Toolset" seems to go down only till VS 2008 ...

    So for sure, you will need a VS 2013 co-installed on your disk ... if you want to compile ARX/BRX modules.

    Approach B - what Owen mentioned :smiley: if you intend not to create BRX module, but .NET based modules, then there is no need to have VS 2013 being installed, the DLL odule can be created by VS 2017.

    Our BRX SDK contains a "samples" folder with both BRX + NET samples ... so you can try.

    I may go ahead and buy a version 10 but it would be very helpful if BricsCad could confirm that the v100 toolset platform is what is
    needed before doing so.

    you need VS 2013, not VS 2010 ! And that is called "Platform Toolset v120" :-)
    And with VS 2013 / VC12 you can compile your BRX project for BricsCAD V16, V17, V18

    many greetings !

  • Sorry, I saw VS 2010 being discussed and assumed you wanted to build native BRX for V15. Indeed, VS 2010 is only needed for BricsCAD V15 or earlier. For V16 and later native BRX, you'll need VS 2013 with platform toolset V120.

  • Torsten and Owen,

    Thanks for your help. Both of your ideas are good and worth perusing. I will try building in .net Owen, Good tip!

    Torsten, I thought I understood you correctly that VS 2013 with toolset platform v120 would be needed for use with BCad V18 SDK versions I downloaded from 24/7. I was surprised however after creating a class library. When in properties > general > platform toolset, after changing from v141 to inherit, it returned "v100 not installed" ? I do see that your pulldown does have the inherited toolsets from a install of VS 2013 along with VS 2015/17. I read a thread on another forum where your method has been used by others too. I may try it if I can find VS 2013 at a reasonable price.

    It is all confusing to me as a novice to programming in any platform other than Autolisp and some VBA. I have some experience with PHP and was exploring possibilities of Python. I don't know why Python has never taken off for CAD use.

    I know others are building BRX programs. There is not much I have seen that would be of any use to me, Most is not written in English.

    The type of BRX I was planning to work on first would be a Block library with DCL slide images. I built one in Lisp. Mine is a bit different than most other block library routines, It runs any lisp associated to the block I pick. Great for plan detail callout (rounded rectangle with detail balloon, section detail marks, even for manipulating dynamic blocks, etc.).

  • Dear MrArch,

    indeed, it can be confusing :-)
    Unfortunately, Microsoft seems not to understand, that it can be necessary to by an older VisualStudio version - especially when developing "plugin" for a "host system", as the plugin then must match the host system's CRT ...
    Seems, Microsoft's youngsters are focused on interpreted / scripted languages, where such conditions do not apply :smiley:

    I don't know why Python has never taken off for CAD use.

    I think rather clear : compare AutoLISP with a plain, native LISP ... a "native" Lisp language does not know anything about CAD systems, therefore AutoLISP has lot of own extensions to standard Lisp ...
    and for any other (interpreter) language this applies as well ... the "native" interpreter & language would need to be extended ... too much work ...
    especially as AutoLISP + ARX/BRX + COM are present as well ...
    and especially as a (somewhat powerful) COM interface is available, any compiled or interpreted code module (outside the CAD host) can connect to the CAD system.

    many greetings & good luck !

  • @Torsten Moses said:
    Dear MrArch,

    indeed, it can be confusing :-)
    Unfortunately, Microsoft seems not to understand, that it can be necessary to by an older VisualStudio version - especially when developing "plugin" for a "host system", as the plugin then must match the host system's CRT ...
    Seems, Microsoft's youngsters are focused on interpreted / scripted languages, where such conditions do not apply :smiley:

    I don't know why Python has never taken off for CAD use.

    I think rather clear : compare AutoLISP with a plain, native LISP ... a "native" Lisp language does not know anything about CAD systems, therefore AutoLISP has lot of own extensions to standard Lisp ...
    and for any other (interpreter) language this applies as well ... the "native" interpreter & language would need to be extended ... too much work ...
    especially as AutoLISP + ARX/BRX + COM are present as well ...
    and especially as a (somewhat powerful) COM interface is available, any compiled or interpreted code module (outside the CAD host) can connect to the CAD system.

    many greetings & good luck !

    Torsten,

    Yes, I understand and share your sentiments about some software companies that seem to only be interested in blindly producing "new" versions of their products without considering the impact it has on developers such as your company who have have put so much time and money into their product. I am not of the anti-Microsoft group but it does appear to be planned short sightedness on their part. What they have for now, is a proprietary product. Like AutoCAD, sooner or later a better product finally is able to challenge them. I think BricsCad is doing a good job of that right now.

    As for Python, I have seen a couple of limited Cad library extensions but they are very basic. The user base for 2D/Cad is not very large compared to other areas where Python seems to be more popular. It is a fast and easy language to learn but with similar drawbacks of all interpreted languages. If BricsCad was not as extensible as it is, e.g. being able to use Autolisp and other familiar programming platforms I would not have had any interest in it. As much as I like Sketchup for example, I don't understand why they chose Ruby.

    I will first look at Owens idea of using .net but will probably also try to buy VS 2013 I saw from what appears to be a reliable a seller in Germany.

    Have a good weekend and thanks again.

    Cheers,

    Jim

This discussion has been closed.