Beginner Questions



  • Hello,

    I have recently started using V2 with great success (and enjoyment!) but I have some questions..

    I have been running the demo in the web package and then copying and pasting from VSCode to the inbuilt editor. Is there a better way? I have tried the cli package but thats not really what I wanted. I have also tried the 2 extensions I found for VSCode but they both have issues. This has also become a problem because I want to split my source into separate files but I cant copy and paste multiple files to the web package.

    Thanks



  • @Dunk-Fordyce I really like this concept of a preconfigured project. It would be a great addition to the JSCAD project.

    Probably, there are a few different styles of projects. So, maybe a little repository of starting projects could be created.

    Interested?



  • @wildjerry said in Beginner Questions:

    In errors, what is the blob url? Going to them just yields a 404.

    Probably a different topic would be better but... I think you mean these error messages.

    TypeError: cag._toCSGWall is not a function
    Line: 10713,col: 0
    (blob:https://openjscad.org/2c5b9973-25f7-4c49-9e61-8b632a209931)
    

    Deep down in the JavaScript engine of the browser, an error occured. However, the browser doesn't have a 'real' URL as the source code has been tweaked and anonymous. So, it reports the error as originating in the anonymous (blob) object.



  • In errors, what is the blob url? Going to them just yields a 404.



  • @Dunk-Fordyce just another thought...

    Installing live reload is an option. The web application has support for live reload, which is enabled after a file or a project is dropped to the web page.

    I actually run tests of live reload using small projects.



  • @hrgdavor wow! thats a lot of cool things in the same place hehe thanks!



  • @Dunk-Fordyce

    There is a discord channel on ELMER server. Somebody there created lots of channels for different cad projects.

    here is invite link for #openjscad
    https://discord.gg/mGKESsy3



  • @z3dev a desktop viewer requires a whole lot of desktop whereas a web viewer can be viewed from any machine on the same network trivially. I'm guessing here: a web server setup is going to be alot smaller than requesting electron or whatever else is used. I'd go even further and say that the desktop viewer should always just be the web viewer wrapped up in electron with any features that cant be done in a browser.

    Having the CLI tools there would certainly be good, I had forgotten about those.



    • scripts: is there a command that runs a web server with a viewer? I know about npm run dev in the www package but that's not what we want.

    I think this would be the desktop application, which doesn’t exist yet for V2.

    • dependencies: It seems correct to include this so that is a totally valid package, but perhaps it should just include the typescript definitions. I'm not sure

    It probably depends on the IDE.
    Does anyone have a suggestion?

    • devDependencies: a viewer seems like a good thing for development, certainly for a template

    CLI is an alternative, but viewing the results makes more sense.



  • @Dunk-Fordyce your points are fair.

    The parameters are still closely tied to HTML input types. There’s a whole new world now with V2 so please be frank and propose some innovative changes.

    There should be reinforcement of the JavaScript language, so defaults should be useable. Definitely an area to explore.



  • @z3dev

    I didnt get very far...

    {
      "name": "machinez1",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "run": "...cmd to launch a webserver with the viewer"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "@jscad/modeling": "^2.0.0-alpha.9"
      },
      "devDependencies": {
        "@jscad/web": "^2.0.0-alpha.9"
      }
    }
    
    • scripts: is there a command that runs a web server with a viewer? I know about npm run dev in the www package but that's not what we want.
    • dependencies: It seems correct to include this so that is a totally valid package, but perhaps it should just include the typescript definitions. I'm not sure
    • devDependencies: a viewer seems like a good thing for development, certainly for a template


  • @z3dev Ok, I just wondered if I was missing something.

    Personally it seems a shame that the defaults are tied to the parameters function instead of where they should be ie:

    const main = ({radius=10}) => { }
    // or
    const main = (radius=10)  => {}
    // etc
    

    But how that would work with parameter definitions is a another thing...



  • @Dunk-Fordyce said in Beginner Questions:

    Also:

    • how can I use the parameter defaults from another file? It seems getParameterValuesFromParameters should be exposed somewhere?

    There are several ways but no general practice. I'm porting a project which has several designs for gears (very nice designs). And here's one way to put those together into one BIG design.

    const bevelParams = require('./bevelGear').getParameterDefinitions
    const bevelGear = require('./bevelGear').main
    
    // combine parameters definitions
    
    const getParameterDefinitions = () => {
      const definitions = [
      ]
      // bevel gear parameters
      definitions.push({ name: 'bevelGear', type: 'group', caption: 'Bevel Gear' })
      definitions.push(...bevelParams())
      return definitions
    }
    
    const main = (params) => {
      return bevelGear(params)
    }
    
    module.exports = { main, getParameterDefinitions }
    


  • @Dunk-Fordyce said in Beginner Questions:

    I understand how the project structure is meant to be now but is there, or could there be, a template git repo with the correct files included for linting and other nice to have things?

    If I understand correctly, a template for new design projects. Nice idea!

    Just clone and go. 😎

    Maybe a new project on the JSCAD community would be a good place for this.



  • @Dunk-Fordyce said in Beginner Questions:

    i want to add a vector type to the params, is there anything wrong with adding that into packages/web/src/ui/views/parameterControls.js or are your vue controls about to make it obsolete?

    Interesting. Nothing is planned for the parameters, except some re-factoring of code. A new type of parameter would be fine if it works across CLI/WEB applications.



  • @Dunk-Fordyce said in Beginner Questions:

    will you support js import/export statement instead of require?

    Definitely. Browsers (and Node) are moving forward with import/export, and JSCAD will follow.



  • @Dunk-Fordyce said in Beginner Questions:

    whats happening with the vue components I've seen in your vue-components repo ( I like vue )

    Excellent! I will be maintaining those going forward, but would appreciate any assitance or comments. I'm just a Vue beginner, and probably have a whole lot wrong.



  • Also:

    • how can I use the parameter defaults from another file? It seems getParameterValuesFromParameters should be exposed somewhere?


  • Ok, I have the following questions, is here appropriate to ask?

    • whats happening with the vue components I've seen in your vue-components repo ( I like vue )
    • will you support js import/export statement instead of require?
    • i want to add a vector type to the params, is there anything wrong with adding that into packages/web/src/ui/views/parameterControls.js or are your vue controls about to make it obsolete?
    • I understand how the project structure is meant to be now but is there, or could there be, a template git repo with the correct files included for linting and other nice to have things?


  • @Dunk-Fordyce said in Beginner Questions:

    @z3dev Thanks!

    This works great!

    Is there a discord or slack or even IRC channel for jscad?

    Not that I know about.



  • @z3dev Thanks!

    This works great!

    Is there a discord or slack or even IRC channel for jscad?


Log in to reply