Placing components
How to find parts in the library and place them on the canvas. In Qfactr every placement lands at real micron coordinates, so geometry is true from the very first component.
Building a layout starts with placing components. In Qfactr the canvas is a true physical plane measured in micrometers (µm) rather than abstract grid tiles, so a part is positioned where it will actually sit on the chip. Each component you place carries its own footprint and a set of pins — the physical optical ports you will later route between.
This is a core difference from schematic-only tools, where symbols float on a logical sheet and physical reality is deferred. Here, position and geometry are part of the design from the start. If you are new to the editor, the workspace tour maps every panel; this page focuses on getting parts onto the canvas.
The component library and PDK
Components come from the searchable library in the left panel, scoped to the active process design kit (PDK). A PDK is a library of parts that behave like real devices: in Qfactr, components carry physical pin positions and S-matrix (S-parameter) data, so a directional coupler or ring resonator you drop in is a model of an actual fabricable device, not a generic icon. New projects start with the bundled Demo-PDK, so you can begin placing parts immediately without configuring a process first.
The library covers the standard photonic building blocks — straight and bend waveguides, directional and MMI couplers, Y-splitters, ring resonators, Mach-Zehnder interferometers, phase shifters, grating and edge couplers for I/O, photodetectors, and modulators. For what each part does and when to reach for it, see Components & building blocks. For more on what a PDK contains and why it constrains manufacturability, see Process design kits.
Placing a component
Placement is a short loop: find the part, drop it on the canvas, then adjust its position and parameters. Because the canvas is physical, every part lands at real coordinates the moment you place it.
- Confirm the active PDKCheck the active PDK in the left panel. A new project defaults to the Demo-PDK. The PDK determines which parts are available and what physical and electrical data they carry.
- Search the libraryUse the library search in the left panel to find a part by name or type — for example a ring resonator, a directional coupler, or a grating coupler. The list narrows as you type.
- Place it on the canvasAdd the component to the micron-scale design canvas in the center. It appears with its true footprint and its pins. Pins render red when unconnected, a visual reminder of which ports still need routing.
- Arrange in Select modeSwitch to Select mode in the toolbar to move and arrange parts. Position reflects real geometry, so spacing between components is the real distance waveguides will have to span when you route them.
- Edit parametersWith a component selected, review and edit its parameters in the right-hand properties panel — for example setting a ring resonator's radius to
r = 10 µm. Parameter changes update the part's geometry and behavior on the canvas. - Remove with Delete modeTo remove a part, switch to Delete mode in the toolbar and select it. Deleting a placed component also removes any routes that depended on its pins.
Why physical coordinates from the start
Photonic components are large relative to the connections between them, and the waveguides that join them are physically constrained — they cannot turn sharply without radiating power, and they cannot cross freely without adding loss. That means a placement is never just a logical choice; it commits to a geometry that routing must then satisfy.
By placing in real micrometers, Qfactr keeps that physical truth in front of you from the first component rather than discovering it later at the mask stage. The layout you build is a single editable model that carries position, connectivity, hierarchy, and simulation-aware context together — the representation layer described in Core concepts. When you later run Simulate, transmission and loss are derived from the actual geometry you laid down, including the distances and bends your placement implied.