add_constraints
ChatGPTAppend one or more constraints to the drawing charter. New constraints are added after the existing list in the order provided.
By Jorge Soares
Work directly with connected design and projects in Scopture. Inspect models, drawings, canvas state, and .duc files while keeping the surrounding project context in view. Analyze project data, run Python, capture screenshots, manage issues and project charters, trace requirements and decisions, and apply changes directly to the work.
issueIds when the decision should retain explicit links back to relevant issues.firstMessage uses the same markdown mention and attachment wildcards as send_message. assigneeIds accepts only exact user IDs returned by find_user. Every ID must belong to the drawing organization. Location fields can be used to anchor the issue to the canvas, an element, or a model point. The response returns the created issue ids and human-facing local ids.assigneeIds fields.add_requirements, add_constraints, or add_decisions to append charter content. Use the issue tools for issue-level discussion linked from the charter.get_drawing_versions tool to inspect the drawing's version graph.restore_changes tool to roll back to any version.query searches title and dismissed reason.issueId to limit results to one issue, query to search message content across the drawing, or both to search within one issue.jobId. waitForCompletionMs defaults to 0, so submit once and poll with check_python_run_job; do not rerun pending mutations. - Import installed libraries explicitly. For 3D model previews, import show from ocp_vscode and call show(model). - modelOutputKind controls model capture: parametric (default) captures build123d shapes passed to show(...); ifc captures and tessellates an ifcopenshell model; dxf returns a generated ezdxf model file; none expects no model output. It does not control update_drawing(...). Drawing and file helpers: - get_drawing() returns the active drawing as raw .duc bytes, not a parsed object. - get_external_files(*file_ids) returns {file_id: bytes} for the requested mounted external-file IDs. - resolve_external_file(file_id) returns the sandbox-local path for a mounted file, for libraries that require a filesystem path. - update_drawing(data) applies an ID-based patch, not a full-state replacement. Submit complete records only for new or changed items: matching IDs update, new IDs add, and omissions remain unchanged. - Pass a state dict, a compatible ducpy object, or valid .duc bytes; dict and object inputs are serialized with embedded-code validation. Fonts: - FontEnum(...) supports iteration, key access, and identifier-safe attributes such as FONTS.Noto_Sans. - resolve_font(family) returns the sandbox-local TTF path for libraries that need a font path or filename; build123d Text(..., font=family) resolves that path automatically. Code that does not call update_drawing(...) cannot mutate the drawing..duc drawings through ducpy.DucSQL. Modes: - per-drawing: Run one read query for every drawing. Use {db} before table names, for example SELECT id FROM {db}.elements or PRAGMA {db}.table_info(elements). - attached: Read across attached drawings using SQL-safe aliases derived from drawing IDs, such as db_<drawingId> with unsupported characters replaced by _. Use aliases to override them. - mutate: Update exactly one drawing using bare table names, without {db}. The result is written back as gzip-compressed .duc bytes. Read modes accept SELECT, WITH, and read-only PRAGMA queries. Use parameters for bound values and maxRows to cap results. The tool returns a jobId. waitForCompletionMs defaults to 30000; if the job is still pending, poll it with check_python_run_job.@email or @name renders a user mention in the message. - mentionIds accepts only exact user IDs returned by find_user; every ID must belong to the drawing organization. - #<localId> mentions another issue on the same drawing (for example #42). -  embeds an attachment that was already uploaded to the drawing. - [label](canvas-selection:elements?elementIds=<id1>,<id2>,...) references one or more canvas elements by ID (comma-separated, URL-encoded). - Fenced ``mermaid code blocks render as Mermaid diagrams. Provide replyToId` to post a threaded reply.phase to closed requires closedReason. Non-closed phases clear closedReason.status to dismissed requires dismissedReason. Pass null to clear nullable fields such as dueDate or a location field. Set assigneeIds to exact user IDs returned by find_user; pass an empty array to clear all assignees. Every ID must belong to the drawing organization.Click any prompt to copy it.