- We use [Element.io](https://element.io/) as our main chat app. Each OpeningDesign project has it's own dedicated 'room'.
- If you go [here](https://gitlab.com/openingdesign) you can see a list of current and past projects and their associated chat rooms.
@ -9,14 +10,17 @@
- Element has apps for Web, Android, iOS, macOS, Windows & Linux
- Search and connect with ```@theoryshaw:matrix.org``` (Ryan Schultz)
### File Management on Windows
- If you use a file syncing software like Dropbox, and plan to sync OpeningDesign files to multiple machines (tower, laptop, etc.) make sure the path where the files are synced is the same.
- Examples:
- Laptop: `D:\Dropbox\...`
- Tower: `D:\Dropbox\...`
- download favorite text editor
- example: [Atom.io](https://atom.io/)
@ -25,6 +29,7 @@
- 
- Install **Git** for Windows
- Download from [git-scm.com/download](https://git-scm.com/download)
- Long answer [here](https://stackoverflow.com/a/6849424/414643)
- Create accounts at...
- Gitlab: go to https://gitlab.com/users/sign_up to create an account
@ -81,6 +88,7 @@
- Github: go to https://github.com/join to create an account
- Then set up Personal Access Token [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
- Download and install https://tortoisegit.org/download/
- TortoiseGitPlink based on PuTTY...
@ -96,20 +104,27 @@
- Authentication and credential store
- choose defaults
- Follow the steps at the following link to create your private/public GPG keys
- [Windows - Creating New GPG Keys with Kleopatra](https://github.com/OpeningDesign/encryption-test/blob/master/README.md#windows---creating-new-gpg-keys-with-kleopatra)
<br>
---
### Cloning a Repo for the First Time
*Essentionally ''cloning' a repo means you're downloading the entire project folder onto your local machine. Once it pulled down (downloaded) you don't have to clone it again.*
*After it's cloned, if there's a change on the repo you want to pull down to your local machine, follow the steps in the following section: [Pulling the latest changes down from the remote repo](#pulling-the-latest-changes-down-from-the-remote-repo)*.
1. Copy the **HTTPS***(not SSH)* address from either Github or Gitlab.
- From Gitlab...
- 
@ -119,40 +134,57 @@
- 
- The following fields should already be filed in and then hit 'okay'
<br>
---
<br>
### Pulling the latest changes down from the remote repo
1. Right click anywhere in the local folder and go to 'Git Sync'..
- 
- And then 'Pull' 
<br>
---
<br>
### Pushing a change
* right click anywhere in window to bring up the following context menu. go to ***Git Commit -> "master"...***
* Fill in the following below, and hit **'Commit & Push'**
* Make sure to hit **'Commit & Push'** instead of **'Commit'**. Because **'Commit & Push'** syncs your change locally and on the remote, whereby **'Commit'** just commits your change locally.
<br>
---
<br>
### Starting a Project
- Create a [blank project](https://gitlab.com/projects/new#blank_project) on Gitlab
- [Clone the repo](#cloning-a-repo-for-the-first-time)
- Copy in all the template folders located here: ```OD_Library\Project Folder Structure``` and [push](#pushing-a-change).
@ -161,14 +193,19 @@
- Tell collaborators to subscribe to Gitlab notifications.
- [one way](imgs/gitlab_notifications.png)
<br>
---
<br>
### Revit Specific
- Try not to use the following, if possible...
1. Dumb text notes. Prioritize the following instead.
- 1st priority: Material Tags
@ -180,48 +217,66 @@
- use Visibility/Graphic Overrides for Categories instead, or better yet, use View Templates
4. Paint a material on an object. (apply a material via a type, or to entire object)
<br>
---
<br>
### FreeCAD Specific
- Export IFC files very soon and very often, test them in [IFC++](https://ifcquery.com/) first, then in Revit. Detect issues early
- Use simple extrusions as much as possible (Arch Wall/Structures/Panels or Part Extrude)
- Objects exported as IFC structural elements (beams, columns) often give problems in Revit. If needed, use BuildingElement Proxies (Will come as generic models, Revit won't apply any transformation on them)
- Keep list of materials clean, merge duplicates, make sure all objects have a material
<br>
---
<br>
### Creating a New Revit Family
1. When creating a new revit family, one of the cardinal rules when making families is that the objects should be constained to reference planes.
2. There might be exceptions, but another cardinal rule is to start with a family template of the thing you're modeling... that is, use a window template for windows, door template for doors, etc.
<br>
---
<br>
### File too large to push to Github
If your file ever gets above 100mbs and you can't push to Github, try...
1. Purge all. Run this (3) times to fully purge everything.

2. For whatever reason, if you do a 'save as' to a temporary file name, and do another 'save as' to overwrite the original file. it reduces the file size.
<br>
---
### Markdown Editor
- We use markdown a lot. [Here's](https://yorik.uncreated.net/blog/2021-015-markdown) why.
- Some of our favorite open source desktop markdown editors
@ -232,13 +287,17 @@ If your file ever gets above 100mbs and you can't push to Github, try...
- RPC failed; HTTP 524 curl 22 The requested URL returned error: 524 fatal: the remote end hung up unexpectedly: https://confluence.atlassian.com/bitbucketserverkb/git-push-fails-fatal-the-remote-end-hung-up-unexpectedly-779171796.html
@ -298,25 +368,91 @@ If your file ever gets above 100mbs and you can't push to Github, try...
- `git did not exit cleanly (exit code 128)`
- This error might be because there's a file with path that is too long
- assume-unchanged and skip-worktree flags
- https://fallengamer.livejournal.com/93321.html
- Record audio and mic on ShareX: https://softwarerecs.stackexchange.com/questions/42767/screen-recording-tool-that-records-both-speaker-o-p-as-well-as-mic-input/74728#74728
- If Gitlab password is not working: https://stackoverflow.com/questions/47860772/gitlab-remote-http-basic-access-denied-and-fatal-authentication/51133684#51133684
- *(not sure this step is necessary)* Save key fingerprint, and randomart image, by copying and pasting them somewhere for future reference if you need them.
- It creates (2) files in this directory
- One is your private key. Don't share this with anyone.
- example: `id_rsa`
- And the other is your public key. This key you can share with anyone.
- example: `id_rsa.pub`
- `ssh-add`
- If error `Could not open a connection to your authentication agent.`
- Windows `eval $(ssh-agent)`
<!--
changing marketplace on vscodium https://github.com/VSCodium/vscodium/pull/674#issuecomment-1137920704