mirror of
https://github.com/storytold/cadcraft.git
synced 2026-11-10 04:19:59 -06:00
* MINSERT: a block reference repeated in rows and columns
MINSERT asks INSERT's questions, then the grid's as AutoCAD 2024 does
(measured with accoreconsole): the numbers of rows and columns (1 to
32767), the distance between rows or a unit cell when there is more than
one row, the distance between columns when there is more than one column,
then the attribute values once. A distance along an axis with one copy is
0, and one row by one column is a plain reference.
EXPLODE leaves a grid whole ("The object is minserted.") instead of
exploding its first copy and dropping the rest. MIRROR mirrors a block
reference as AutoCAD does, negating the X scale factor and a grid's
column distance, so a mirrored grid's rows stay on the right side. An
attribute with no default is asked without "<>".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* MINSERT JSON: refuse a distance that is not a number
`rowSpacing` and `columnSpacing` went through `f64_or`, which takes any
value that is not a number as the default, so `"rowSpacing": "15"` stored 0
and put every copy on top of the others without an error. They are now
checked as `rows` and `columns` are: absent or null is 0, a finite number is
kept, anything else is refused.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
172 lines
3.4 KiB
Rust
172 lines
3.4 KiB
Rust
mod angle_prompts;
|
|
mod angle_settings;
|
|
mod annotate_options;
|
|
mod annotative;
|
|
mod arc_ctrl_direction;
|
|
mod array_commands;
|
|
mod assoc_array;
|
|
mod attdef_command;
|
|
mod attdisp_attsync;
|
|
mod attedit_prompts;
|
|
mod attrib_modes;
|
|
mod attrib_props;
|
|
mod attribute_tools;
|
|
mod attribute_value_baseline;
|
|
mod block_description;
|
|
mod block_keep;
|
|
mod block_redefine;
|
|
mod blockreplace;
|
|
mod break_closed_polyline;
|
|
mod break_join_locked_layers;
|
|
mod break_keeps_z;
|
|
mod burst;
|
|
mod change_command;
|
|
mod chprop_command;
|
|
mod classic_array;
|
|
mod compare_export;
|
|
mod constraint_geometry;
|
|
mod constraint_infer;
|
|
mod copy_count;
|
|
mod count;
|
|
mod dash_block;
|
|
mod dash_units;
|
|
mod data_extraction;
|
|
mod dim_baseline_spacing;
|
|
mod dim_chain;
|
|
mod dim_commands;
|
|
mod dim_explode_text;
|
|
mod dim_properties;
|
|
mod dim_radial_inside;
|
|
mod dim_radial_outside;
|
|
mod dim_vars;
|
|
mod dimtedit_prompts;
|
|
mod drafting_spacing;
|
|
mod draw_prompts;
|
|
mod draworder;
|
|
mod dyn_input;
|
|
mod dynamic_block_data;
|
|
mod dynamic_grips;
|
|
mod explode_stretched;
|
|
mod extend_polyline_arc_end;
|
|
mod fillet_chamfer;
|
|
mod fix_holds_grips;
|
|
mod followups_626;
|
|
mod grip_dim_input;
|
|
mod grip_options;
|
|
mod grip_selection;
|
|
mod group_selection;
|
|
mod groups;
|
|
mod hatch_assoc;
|
|
mod hatch_dialog_helpers;
|
|
mod hatch_numeric_validation;
|
|
mod hatch_options;
|
|
mod helix;
|
|
mod inquiry_keywords;
|
|
mod inquiry_variables;
|
|
mod inquiry_z;
|
|
mod insert_attribute_prompts;
|
|
mod insert_prompts;
|
|
mod isometric;
|
|
mod join_close;
|
|
mod json_param_validation;
|
|
mod layer_cmdline;
|
|
mod layer_merge_delete;
|
|
mod layoff_repeat;
|
|
mod layout_prompts;
|
|
mod leader_command;
|
|
#[allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
|
mod lisp_corpus;
|
|
mod lisp_undo_in_routine;
|
|
mod malformed_handles;
|
|
mod matchprop;
|
|
mod measure_distance_snapping;
|
|
mod metric_linetypes;
|
|
mod minsert;
|
|
mod mirror_degenerate_line;
|
|
mod mleader_content;
|
|
mod mleader_remember;
|
|
mod mline;
|
|
mod mocoro;
|
|
mod modify_curves;
|
|
mod mtext_columns;
|
|
mod mtext_options;
|
|
mod multiline_attributes;
|
|
mod named_viewports;
|
|
mod named_views;
|
|
mod non_finite_edits;
|
|
mod offset_closed_spline;
|
|
mod offset_ellipse_side;
|
|
mod offset_move;
|
|
mod oops_command;
|
|
mod options_profile;
|
|
mod overkill;
|
|
mod parallel_display_list;
|
|
mod pedit_multiple;
|
|
mod pedit_splinedit;
|
|
mod pick_text;
|
|
mod pickdrag;
|
|
mod pline_arc_xline_options;
|
|
mod plot_styles;
|
|
mod point_modifiers;
|
|
mod polyface_explode;
|
|
mod post_command_passes;
|
|
mod prompt_keywords;
|
|
mod prompt_or_once;
|
|
mod props_bad_lineweight;
|
|
mod props_insert_scale_attribs;
|
|
mod purge_mlinestyles;
|
|
mod purge_prompts;
|
|
mod qdim;
|
|
mod qdim_modes;
|
|
mod query_entities;
|
|
mod quickcalc;
|
|
mod recent_commands;
|
|
mod rectang_ortho;
|
|
mod rectang_polygon_order;
|
|
mod refedit;
|
|
mod region;
|
|
mod rename_cmdline;
|
|
mod rotate_reference;
|
|
mod scale_offset_z;
|
|
mod select_keywords;
|
|
mod select_similar;
|
|
mod select_underscore_keywords;
|
|
mod selection_cycling;
|
|
mod selection_modes;
|
|
mod setvar_cecolor;
|
|
mod setvar_coverage;
|
|
mod shapes;
|
|
mod snap_annotations;
|
|
mod snap_blocks;
|
|
mod snap_curves;
|
|
mod snap_intersections_aperture;
|
|
mod snap_nearest;
|
|
mod snap_overrides;
|
|
mod snap_tracking;
|
|
mod snaps_more;
|
|
mod solid_command;
|
|
mod space_is_enter;
|
|
mod spline_degree;
|
|
mod spline_options;
|
|
mod stretch;
|
|
mod stretch_select;
|
|
mod table_formulas;
|
|
mod table_styles;
|
|
mod temp_tracking;
|
|
mod text_commands;
|
|
mod text_left_justify;
|
|
mod tolerance;
|
|
mod transparent;
|
|
mod trim_closed_polyline;
|
|
mod trim_extend_options;
|
|
mod undo_count;
|
|
mod undo_layout_tab;
|
|
mod viewport_clip;
|
|
mod vplayer_prompts;
|
|
mod vports;
|
|
mod wipeout_grips;
|
|
mod xdata_follows_entity;
|
|
mod zoom_keywords;
|
|
mod zoom_viewport;
|
|
mod zoom_window_ortho;
|