• 1 Post
  • 19 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle
  • What makes those methods better?

    Disclaimer, I’m at a sortof “advanced hobbyist” level of cad. My understanding of the topological naming problem in general is that it exists in all cad because it is a sortof byproduct of how computers keep track of data about 3 dimensional objects. If you make a cube, all the sides need to have an identifier associated with them. If you put a hole in that cube, you now have more identifiers and have to decide what ordering makes sense. It sounds easy to work around with a cube but when models get really complex it’s not so easy, especially when you change something way back at the beginning which creates more or less faces in the middle of the list somewhere.

    Freecad isn’t making the topological naming problem “go away”. They are creating (or rather merging, it’s been around a long time) an algorithm that makes a better guess at what the order should be, rather than sticking new faces in the list and reordering without any consideration of what happened after that face was created. This is, as far as I understand, also how other CAD packages do it, and you can still back yourself into a topological naming problem if you try hard enough (or don’t try at all I guess) in both freecad with the new changes applied, and in other CAD packages.

    So “best practice” is to be smart about the attachment of your geometry thinking about how things might change in the future, rather than clicking the closest face whenever you need a sketch plane. In reality modern proprietary cad is so good at guessing and maintaining consistency that it doesn’t matter unless your model is horrendously complex and whoever made it didn’t pay any attention to laying out the base sketches in an organized way.

    For example if you make a flange but you’re not quite sure about the thickness, base the sketch for say, the holes, on the parallel origin and offset it by the height of the pad or the length of the sketched geometry. Or use a spreadsheet or variableset for the value of both the thing that you define the thickness with, and the offset from the origin plane. That way if the value changes, nothing will break.

    I made a test model but it isn’t something that shows up well in a single screenshot unfortunately. See the “Flange Thickness” and z offset parameters in the property view. I used that for the flange dimensions, and the hole sketch offset.



  • Unfortunately I don’t know what is causing the exact issue you are having, however here are a few things I found when doing this myself that are “gotchas” (not immediately obvious).

    1. This is the reason your fonts are all Times New Roman. Go to that key using protontricks regedit and delete all the font replacements.

    2. Anything you put in $HOME/.steam/root/steamapps/common/assettocorsa stays there, even if you uninstall the game. If you want to “start over” you have to uninstall the game and then delete the whole assettocorsa directory there, and the wine prefix in $HOME/.steam/root/steamapps/compatdata/244210

    3. AC and content manager work without .net changes in the latest GE but you do need corefonts which you can install with protontricks. If you want to be extra sure you have the right .net you can install dotnet472 but I don’t believe this is necessary anymore as it will be installed automatically or is already installed. You may get a wine .net error the first time you launch the game but it’s only the first time.

    4. If you choose to use CSP you have to unzip the archive you get from either Patreon or acstuff.ru and manually copy the dwrite.dll file into $HOME/.steam/root/steamapps/common/assettocorsa on EVERY upgrade. The zip installer built into CM doesn’t do this correctly on Linux. It will cause rain not to work if you choose to use the Patreon version if you don’t do this manual step.

    I think you should start over and make sure the assettocorsa directory is clean before re-installing the game. It could be missing fonts, but it’s hard to say. You can back it up somewhere if you have data in there you need.


  • What version of kde? I haven’t tried it, or read about it beyond the changelog, however the latest beta release says that it supports RDP to connect to plasma desktops which is quite an interesting development if it works the way it sounds like it does:

    Remote Desktop system integration to allow RDP clients to connect to Plasma desktops, plus a new page in System Settings for configuring this

    For the “from anywhere” component you could use a vpn, but if you’re looking for a simple solution with zero configuration than nomachine or rustdesk seem more appropriate. Just thought the RDP support was worth sharing.


  • So, I’m not sure if the process has changed in the last decade or so but in a long-ago computer forensics class step 0, before all else, was to never operate data recovery on the original disk. Create a block level image of the entire device, then work on that.

    My go to steps for recovery have been the following in the years since:

    1. create an image of the entire disk (not a partition) using ddrescue ddrescue -d /dev/sdX <path_to_image>.img
    2. Run test disk on it selecting the partitions as necessary testdisk <path_to_image>.img

    If the disk has a complicated partition layout, or more effort is required to find the correct partition you can also mount parts of the disk.

    1. create an image of the entire disk (not a partition) using ddrescue

      ddrescue -d /dev/sdX <path_to_image>.img

    2. Mount the image as a loopback device with the appropriate offset

      losetup --offset <some_offset_like_8192> --show -v -r -f -P <path_to_image>.img this will mount individual partitions:

      loop58        7:58   0 465.8G  1 loop
      ├─loop58p1  259:7    0   1.5G  1 part
      ├─loop58p2  259:8    0 450.6G  1 part
      └─loop58p3  259:9    0  13.7G  1 part
      
    3. Then operate testdisk on whatever partition you want.

    All that said there are a lot of variables here and things don’t always work perfectly. I hope you do find a way to recover them.


  • Sway for a little over a year now (on an AMD gpu). I switched for mixed refresh rate support and VRR. VRR requires a workaround in sway but works better in others, like hyprland, however I like sway’s tiling better so I stuck with it. Also the absence of tearing in anything, ever, is worth it to me. I have two vertical displays and it was really hit or miss on X11. Sometimes GPU acceleration would just decide not to work in browsers and I’d have to restart them because smooth scrolling would turn into a stop-motion film. That’s never happened since switching to sway.

    EDIT: I used i3 before



  • Yeah that’s fair, I do think that a big UI/UX redesign that makes it magically user friendly in a single release cycle would be next to impossible with the funding the project has though, and unfortunately a long drawn out redesign (what’s currently happening with, say, RT’s UI improvements) would likely have a lot of the problems that got us to this point as well. UI/UX benefits from a closely integrated team working towards a singular goal in my (limited) experience.

    Now that I’m thinking about it a bit more, the project moves very slow and is for some reason extremely cautious about contributed core code so when things do need to be improved they become workbenches or addons and splinter the workflow even more.

    This PR for example was a massive hurdle for some transparent overlays and went quite quickly in comparison to other features https://github.com/FreeCAD/FreeCAD/pull/7888


  • FreeCAD is the way it is mostly because it’s not optimized by multi-billion dollar companies with teams of developers and UI/UX engineers. It’s very much the do-all-the-steps-your-self CAD package.

    That said, there are loads of bad or outdated video tutorials out there, and generally people tend to find one way to do a thing and then market their video as THE way to do it. Treat FreeCAD like Linux, there are lots of “correct” ways to use it, and also don’t expect it to be something it’s not.

    If you feel comfortable with it, it would be cool for you to make a short video of where you are stuck, or where you feel you are doing unnecessary steps, and maybe we can help you reach our goal in a simpler way?




  • AFAIK openSCAD is a code driven mesh format. So if you want to import openSCAD models into any other CAD software you have to convert the mesh to STEP or some other actual 3d object format during which there can be lots of error if the model is complex. I don’t have a lot of experience doing this but I just tried a model I had lying around from the dactyl keyboard project and converting it resulted in a lot of really broken surfaces.

    This is a cool alternative that makes 3d objects instead of meshes (at least it says it does). https://zalo.github.io/CascadeStudio/ . Also open source but web based.

    EDIT: I should mention that CascadeStudio seems to be abandoned, just a cool concept of a different way of doing code driven CAD.


  • I use FreeCAD and Assembly3 for everything and have for many years now. I sometimes use realthunder’s fork of FreeCAD but right now it’s quite a bit behind upstream and there are some cool new features in sketcher so I use upstream for those.

    Some people get confused about workflow in FreeCAD because there are so many options and every youtube video has different opinions or tries to feature a particular workbench like curves or something. My opinion… Pretty much your workflow starting out should be to ignore everything else and use part design and sketches, it’s the simplest way:

    1. enable autosave with a short interval, like 2min

    2. Switch to part design workbench

    3. create body

    4. create sketches as the base of the features of your part attached to the xy, xz, yz planes, offset them to create a “wire frame” that resembles your project

      a. Your sketches should be fully constrained

      b. Your sketches should have as little geometry in them as possible, if you need more complex stuff make more sketches

      c. Your sketches should have closed wires, you can’t pad something that doesn’t create a face.

    5. use pad, pocket, revolution, loft, and hole operations on those sketches to form a 3d solid

    6. if you need to create additional sketches which import geometry from the previous operations (using the external geometry tool), import SKETCH geometry from the previous ops, not edges of solids, whenever possible. Hide your solid, unhide your sketch, select that with the external geometry tool.

      a. Use sketch on face sparingly.

    7. Do fillets and chamfers last, if you need to change something, delete them and recreate them once you’ve made your changes.

    To make multiple parts make multiple bodies with the same workflow as above.

    Once you get pretty good at making static parts with constrained geometry, holes, threads (with the hole function), etc, which you can do with only the stuff above, then you can branch out into other workbenches like assemblies or curves, but all of those things build on the concepts above, so it’s easy to get overwhelmed if you try to do it all right from the start. Learning how to recover from a mistake is just part of CAD in general, though I admit that it’s a bit more effort to find what’s wrong in FC vs commercial platforms, but we aren’t here, on lemmy, in a linux community, to use commercial platforms.

    AFAIK that’s pretty much the same workflow as F360 uses for single-solid parts though things have different names. pad=extrude for example.

    It’s obviously far from perfect but in my opinion it’s the best solution that runs natively on Linux and is actually open source. Also assembly3 uses solvespace as it’s backend solver so if you make assemblies using that you are kindof using solvespace too.

    Also, I hear/read a lot of complaining about instability but I’ve honestly never had a crash that wasn’t on an experimental branch like RT or the edge release of upstream. However step 0 above should help if you’re worried about that.





  • mranderson17@infosec.pubtoLinux@lemmy.ml...
    link
    fedilink
    arrow-up
    9
    ·
    9 months ago

    I have a whole Linux machine with a bunch of displays, 16 cores, tons of memory, powerful GPU, and an internet connection. And I still have a TI-84Plus sitting on my desk which I use for all my calculator needs… It’s just easier.