Month: October 2025

  • Plant3D Database PnPID, GUID vs

    • GUID (Globally Unique Identifier)
    • PnPID is a numeric, sequential ID that is unique within a specific project and spec (not necessarily globally unique)
    GUID is a 128-bit value, typically displayed as 32 hexadecimal digits, which is so large that the probability of the same number being generated twice is negligible. This uniqueness is crucial for ensuring a stable link between the spec and catalog files

    The Model-Spec Connection

    To understand how PnPID works, it’s important to distinguish between its use in the spec file and its use in the project’s 3D model database:

    • PnPID in the Spec: When you add a component part to a piping spec using the Spec Editor, that part is automatically assigned a new, unique PnPID. This ID is stored in the spec’s database file (.pspc).
    • PnPID and SpecRecordID in the Model: When you place that component from the spec into a 3D model, the component in the model is assigned its own unique PnPID within the project database. To maintain the link back to the spec, this model component also stores the original PnPID from the spec. This stored value is called the SpecRecordID.

    As shown in the database diagrams, the SpecRecordID in the project database (for example, in the Flange_PNP view) directly corresponds to the PnPID in the spec database. This creates a “one-to-many” relationship, where a single part entry in a spec (with one PnPID) can be linked to many instances of that part in the 3D models.

    Is PnPID Created per Item Family or per Size?

    The sources indicate that a PnPID is created for each individual part entry added to a spec, which effectively means it is created per size, not per item family.

    • The software automatically generates a new PnPID each time a part is added to a spec.
    • When building a spec, you typically add a component family (e.g., “Gate Valve, Conduit, 150 LB, RF”) from a catalog for a specific range of sizes. Each size becomes a separate record, or row, in the spec database.
    • Since each part added gets a new PnPID, a 2-inch valve and a 4-inch valve from the same family will be treated as separate parts in the spec and will therefore be assigned different, unique PnPID numbers.

    Deleting a part from a spec permanently breaks this connection for any associated 3D model parts because the PnPID is removed, and even re-adding the same part will generate a new, different PnPID. This highlights the importance of the PnPID being unique to each specific part entry (i.e., each size) within the spec.

    SizeRecordID?

    SizeRecordID is a Globally Unique Identifier (GUID)

    Link a specific part (including its size) from a catalog to its corresponding entry in a spec

    The Impact of Losing a SizeRecordID

    A new SizeRecordID is generated when a new component is added to a catalog. Because the SizeRecordID is the key that links a spec part back to its catalog origin, any action that changes this ID breaks the connection.

    For instance, if you delete a part from a spec and then add the “same” part back from the catalog, the new spec entry will have the same SizeRecordID as the catalog part, but you will have broken the link for any existing 3D model components, because that action will have created a new PnPID for the spec part.

    It is not possible to recover a lost SizeRecordID connection for a part. The recommended best practice is to never delete items from a spec if they are already in use in a model. Instead, you should modify the description to mark it as obsolete (e.g., “OUT OF SPEC“) and then use the PLANTSPECUPDATECHECK command and Data Manager to find and replace the “orphaned” parts in the model with a valid substitute

    Reference

    handout_11136_OG11136_20-_20_20AutoCAD_20Plant_203D_20Specs_20and_20Catalogs_20How_20to_20Create_20Unbreakable_20Project_20Workflows.pdf