Settings

NX-Style reads its settings from nxstyle.json in the NX profile’s config folder (where the profile is). The file holds only what you change; everything else keeps its default, so new defaults still reach an existing profile.

At every start NX-Style writes nxstyle.defaults.json next to it: every setting with its default, for reference.

Changing a setting

  1. Close NX-Style.

  2. Create nxstyle.json in the profile’s config folder, or open it if it is there.

  3. Put in the settings to change, for example:

    {
      "labels": "freecad",
      "background": "white",
      "mb3_hold_radial_menu_ms": 0
    }
  4. Start NX-Style again.

A setting that holds several values (colors) can be changed one value at a time:

{ "colors": { "selection": "#E07000" } }

The settings in FreeCAD’s own Preferences (File › Preferences) are separate and live in the same profile; they never touch your normal FreeCAD’s.

All settings

Setting Default What it does

navigation

"nx"

"nx" = NXStyle’s own mouse handling (same on every FreeCAD version) "native" = FreeCAD’s Gui::SiemensNXNavigationStyle (FreeCAD 1.1+) anything else is used verbatim as a FreeCAD navigation style class name

units

"metric"

"metric": FreeCAD’s Standard schema (mm, kg); "freecad": leave units alone

labels

"nx"

"nx" names (Extrude, Edge Blend) or "freecad" names (Pad, Fillet)

hide_menubar

true

menus stay reachable from the Menu button

hide_native_toolbars

true

FreeCAD’s own toolbars stay hidden (Tools > FreeCAD Menus and Toolbars shows them)

floating_task_panel

false

True = feature dialogs float over the graphics window like NX

stylesheet

"auto"

FreeCAD’s light stylesheet for this version; or a file name

theme

"nx"

"nx" = NXStyle’s light theme over that stylesheet; "none" = FreeCAD’s look

background

"light_gray_gradient"

white, light, light_gray_gradient, dark_gray_gradient or dark (View > Background)

colors

see below

preselection, selection, body and edge colours of the graphics window preselection: "#FF2020", selection: "#FF8C00", body: "#A7ADB4", edges: "#1E1E1E"

edge_width

1

line width of a body’s edges, in pixels

view_triad

"nx"

"nx" = lower-left (NXStyle), "freecad" = FreeCAD’s lower-right one

zoom_at_cursor

true

the wheel zooms towards the point under the cursor

invert_wheel_zoom

true

FreeCAD default: wheel forward zooms in

rotate_degrees_per_pixel

0.4

MB2 drag: how fast the view turns

zoom_drag_up_zooms_in

true

Ctrl+MB2 / MB1+MB2 drag: dragging up zooms in (false: down zooms in)

mb2_click_is_ok

true

middle click accepts the open feature dialog

mb2_hold_sets_rotation_point_ms

450

press and hold MB2 this long on the model to rotate about that point

mb3_hold_radial_menu_ms

350

hold MB3 this long for the radial menu; 0 switches the radial menu off

quickpick_hold_ms

500

rest the pointer (then click) or hold MB1 this long for QuickPick; 0 = off, with select-through

default_application

"modeling"

the application NXStyle starts in (an id from ribbons/apps.json)

new_part_datum

true

a new empty part starts with a Body (NX Model template)

sketch_input

"position"

sketch curves and points take typed coordinates, as NX’s XC/YC input boxes: "position" = FreeCAD’s on-view parameters 'Position and dimensions'; "dimensions" (FreeCAD’s default), "none", or "freecad" (leave alone)

nx_shortcuts

true

bind the NX keys (see Keyboard shortcuts); false keeps FreeCAD’s

plm

"strata"

data management (Teamcenter’s role): "strata" add-on, or "none"

algorithmic_modeling

"katydid"

node-based modelling (NX Algorithmic Modeling): "katydid" add-on, or "none"

sheet_metal

"sheetmetal"

NX Sheet Metal: FreeCAD’s "sheetmetal" add-on (bundled), or "none"

laser_cut

"lcinterlocking"

Laser Cut: the "lcinterlocking" add-on (bundled), or "none"

nxt

false

the FreeCAD-Nxt add-on (model panel, Property Inspector), trial: off by default

manufacturing

"carbon"

manufacturing ERP/MES/quality: "carbon" (a Carbon server), or "none"

carbon

see below

The Carbon connection; PLM › Manufacturing Connection sets it, never the API key. url: app.carbon.ms (Carbon Cloud) or your own server. api_key_file: "" = carbon.key in this config folder; CARBON_API_KEY wins. location: the stock location for Manufacturing Status; "" = the first. allow_unreleased: true also publishes a part with no Strata release. new_part: what a part new to Carbon gets (Carbon’s item fields). url: "", api_key_file: "", location: "", allow_unreleased: false, new_part: {"replenishmentSystem": "Make", "defaultMethodType": "Make to Order", "itemTrackingType": "Inventory", "unitOfMeasureCode": "EA"}

Common changes

To Set

See FreeCAD’s names on the buttons

"labels": "freecad"

Keep FreeCAD’s keyboard shortcuts

"nx_shortcuts": false

Keep FreeCAD’s units choice

"units": "freecad"

Feature dialogs float over the graphics window, as in NX

"floating_task_panel": true

FreeCAD’s own look

"theme": "none"

Start in Drafting

"default_application": "drafting"

FreeCAD 1.1’s own NX mouse style

"navigation": "native"

No radial menu

"mb3_hold_radial_menu_ms": 0

No data management

"plm": "none"

No Algorithmic Modeling (Katydid)

"algorithmic_modeling": "none"

No Sheet Metal (SheetMetal add-on)

"sheet_metal": "none"

No Laser Cut (LCInterlocking add-on)

"laser_cut": "none"

No Molded Part Validation (DFM Workbench)

"dfm": "none"

No Manufacturing commands (Carbon)

"manufacturing": "none"

The FreeCAD-Nxt add-on, a trial (off by default; FreeCAD-Nxt (trial))

"nxt": true

Send parts to Carbon without a Strata release

"carbon": {"allow_unreleased": true}

Before 2026-10-13, NX-Style read nxstyle.json from the profile’s root folder instead of config. A file left there is still read when config has none.

Ribbon layout

What you choose on the ribbon itself is kept in nxstyle.ribbon.json, next to nxstyle.json: for each application, tab and group whether it is Keep Expanded or Always Collapsed (right-click a group), and whether the ribbon is minimised. NX-Style writes it as soon as you change something; you do not edit it by hand. Reset Ribbon Layout on a group’s right-click menu, or deleting the file, returns to the defaults. See A narrow window.

Starting over

python launch_nx.py --reset-profile deletes the NX profile, settings and FreeCAD preferences included; the next start makes a fresh one.