I realized recently that mi project can’t represent 3d models set with an environment variable.
Maybe i don’t write correctly mi path : ${KIPRJMOD}/Socket.3dshapes/Socket_header.wrl
But this path worked in the past.
I work on linux mint and mi version of kicad is : 4.0.7-e2-6376~58~ubuntu16.04.1
Do not manually export KIPRJMOD it is used by kicad internally to point to the current project directory!
If you want personal path variables do not use export either. Set them up in the “kicad main window -> preferences -> configure paths” dialog.
&{KIPRJMOD} work well without exporting variable.
But on mi other desktop i have a strange behavior with a personal variable.
I don’t understand what kicad don’t like. I need to make more test for more informations.
I really do not understand why you try to force the use of operating system environment variables for this configuration. KiCad has its internal way of setting them. (config file, editable from the KiCad main window -> preferences -> configure paths) This includes in KiCad 5 a nice file browser like interface.
It is much less error prone and much easier to understand by people who do not normally deal with this sort of stuff. I can not think of any downside of using KiCad internals for configuring the path setup.
As the operating system environment variables trump the kicad internals it makes configuration much less intuitive. Especially for people who do not deal with this every few weeks. They will later try to set it in kicad and wonder why it does not work.
The only os side environment variable that makes sense is the one seting kicads configuration directory. (only if you want to run v4 and v5 in parallel or if you want to switch between different configs.)
Even in that case the path variables are set inside the kicad config file.
Or a developer do the things properly and by by properly it means taking into account all relevant best practices and good standards.
Or a developer address some specific goal - being a novice user, or a complete lack of proper understanding or a utmost desire to simplify what is already a standard best practice.
MS did that as a front end for their proprietary APIs as LICENSED software.
A proper “USER” will eventually know how to use the
good well known best practices and how to take advantage of them
As long as the developer has written a good software
which takes advantage of the best practices.
ENVIRONMENT VARIABLES are good best practices.
No need to change that or question that.
You see it should come from the shell in which the parent process
is meant to run. Not the other way around come from inside the applet.
But before doing that use 2 minutes to apply my humble opinion
and comments to something that is around since late 70 or 80s
That is pretty much where the relation of shell and ENVIRONMENT
apply in security standards.
It seems proper to have the shell initialized so just in case
we need to grant high level of privilege (to 3D GPU for example)
with the proper good standards.
Ignore if you don’t concern at all with that security level
Paul
I think we have officially gone of the track. Closed till other mods decide differently. I’m not married to this decision but the tone must change. Feel free to PM me if you strongly believe I closed this in error.