Coder Social home page Coder Social logo

macad3d / macad3d Goto Github PK

View Code? Open in Web Editor NEW
330.0 16.0 100.0 41.48 MB

Free and OpenSource 3D Construction Tool

Home Page: https://macad3d.net

License: MIT License

C# 90.97% C++ 8.32% Inno Setup 0.30% Batchfile 0.02% C 0.38%
csharp dotnet wpf cad opencascade 3d occt

macad3d's Introduction

Welcome to Macad|3D

Macad|3D is a free and open-source 3D construction program which implements easy-to-handle workflows specific to the model making hobbyist. Design and arrange your model, export perspective drawings and create source data for printing, laser cutting, milling or photo etching.

Macad|3D is mainly based on the technologies .Net, C#, C++/CLI and OpenCASCADE Technology (OCCT). Contributions are welcome, either by submitting via GitHub, or by sending a patch file to [email protected].

Official homepage and download: https://macad3d.net

Screenshot

Development requirements

  • Visual Studio 2022 Community Edition
    • .Net Desktop workload
    • C++ Desktop workload
    • .Net 8 support component
    • C++/CLI support component

Building from source

Start ScriptConsole.cmd and enter the following commands:

  1. Update dependencies from nuget servers.

     > restore
    
  2. Build the whole thing. Replace all with debug or release if only one these should be built.

     > build all
    
  3. Optionally run tests to verify your build.

     > test all
    

About OpenCASCADE Technology

The restore script downloads a pre-built version of OpenCASCADE Technology (OCCT) so that the project can be built immediately. This package contains only the parts that are used in this project. The complete distribution can be downloaded from the OCCT release page. This allows to use additional parts, build the library with other build options or to make code changes. The currently used version can be found in the about dialog.

To use an own build of OCCT, you need to configure the path to OCCT and it's dependencies using the following script console command:

> occt config <pathToOcct>

To use the pre-built package again, use the following command:

> occt config package

Please note: The OCCT installer only contains a release build, if a debug build is to be used, it must be created yourself. For this, please refer to the documentation from OCCT.

Generating the OCCT wrapper code depends on several packages to work hand in hand. If any of this packages changes, it can be at least time-consuming to track down the error and either update other packages as well or find a way around. For this reason, the generated wrapper code for the above mentioned version of the library is checked in. If you have to to re-generate the wrapper code, start the generation with the following script console command:

> occt generate

If you are missing something in the wrapper, it maybe excluded because of several reasons: Maybe it cannot be automatically wrapped yet, it did make trouble in any prior version, or it was simply not needed yet and excluded for saving compilation (and especially linking) time. Check the configuration files for the wrapper generator and enable what you need, then regenerate the wrapper code.

Acknowledgments

Thanks to JetBrains for providing a free license of ReSharper.

ReSharper logo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.