Index: trunk/doc/user/09_appendix/action_details.html =================================================================== --- trunk/doc/user/09_appendix/action_details.html (revision 20628) +++ trunk/doc/user/09_appendix/action_details.html (revision 20629) @@ -1112,6 +1112,12 @@ HID function, causing the user to be prompted for a response. The respose is simply printed to the user's stdout. +

puller

+

+The +puller + action is a special-purpose optimization. When invoked while the crosshair is over the junction of an arc and a line, it will adjust the arc's angle and the connecting line's endpoint such that the line intersects the arc at a tangent. +

quit

If you have unsaved changes, you will be prompted to confirm (or save) before quitting. Index: trunk/doc/user/09_appendix/action_reference.html =================================================================== --- trunk/doc/user/09_appendix/action_reference.html (revision 20628) +++ trunk/doc/user/09_appendix/action_reference.html (revision 20629) @@ -12,7 +12,7 @@

Action Reference

@@ -21,8 +21,8 @@ - - + + @@ -76,8 +76,8 @@ - - + + @@ -91,7 +91,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -127,13 +127,13 @@ - + - + - + @@ -145,7 +145,7 @@ - + @@ -167,7 +167,7 @@ - + @@ -179,8 +179,8 @@ - - + + @@ -226,7 +226,7 @@ - + Index: trunk/doc/user/09_appendix/action_src/puller.html =================================================================== --- trunk/doc/user/09_appendix/action_src/puller.html (nonexistent) +++ trunk/doc/user/09_appendix/action_src/puller.html (revision 20629) @@ -0,0 +1,4 @@ +The Puller action is a special-purpose optimization. When +invoked while the crosshair is over the junction of an arc and a line, +it will adjust the arc's angle and the connecting line's endpoint such +that the line intersects the arc at a tangent. Index: trunk/src_plugins/puller/puller.c =================================================================== --- trunk/src_plugins/puller/puller.c (revision 20628) +++ trunk/src_plugins/puller/puller.c (revision 20629) @@ -337,25 +337,8 @@ static const char pcb_acts_Puller[] = "pcb_act_Puller()"; - static const char pcb_acth_Puller[] = "Pull an arc-line junction tight."; - -/* %start-doc actions pcb_act_Puller - -The @code{pcb_act_Puller()} action is a special-purpose optimization. When -invoked while the crosshair is over the junction of an arc and a line, -it will adjust the arc's angle and the connecting line's endpoint such -that the line intersects the arc at a tangent. In the example below, -the left side is ``before'' with the black target marking where to put -the crosshair: - -@center @image{puller,,,Example of how puller works,png} - -The right side is ``after'' with the black target marking where the -arc-line intersection was moved to. - -%end-doc */ - +/* DOC: puller.html */ static fgw_error_t pcb_act_Puller(fgw_arg_t *res, int argc, fgw_arg_t *argv) { pcb_coord_t Ux, Uy;
\n -This is pcb-rnd 2.0.0 (svn r18442) an interactive printed circuit board editor , Revision: 20611 +This is pcb-rnd 2.0.0 (svn r18442) an interactive printed circuit board editor , Revision: 20628
Action Description Syntax Plugin
AboutPresent the about boxAbout()dialogs plugin
ArcNewCreate a pcb arc segment on a layer. For now data must be "pcb". Returns the ID of the new object or 0 on error.ArcNew(data, layer, centx, centy, radiusx, radiusy, start_ang, delta_ang, thickness, clearance, flags)act_draw
AtomicSave or restore the undo serial number.Atomic(Save|Restore|Close|Block)
AttributesLet the user edit the attributes of the layout, current or given
layer, or selected subcircuit.
Attributes(Layout|Layer|Element|Subc)
Attributes(Layer,layername)
AutoPlaceSelectedAuto-place selected components.AutoPlaceSelected()autoplace plugin
AutoRouteAuto-route some or all rat lines.AutoRoute(AllRats|SelectedRats)autoroute plugin
AutoPlaceSelectedAuto-place selected components.AutoPlaceSelected()autoplace plugin
AutoRouteAuto-route some or all rat lines.AutoRoute(AllRats|SelectedRats)autoroute plugin
BackupBackup the current layout - save using the same method that the timed backup function usesBackup()
BellAttempt to produce audible notification (e.g. beep the speaker).Bell()oldactions plugin
BoardFlipMirror the board over the x axis, optionally mirroring sides as well.BoardFlip([sides])boardflip plugin
DupGroupDuplicate a layer group; if the first argument is not specified, the current group is duplicatedDupGroup([@group])
EditGroupChange a property or attribute of a layer group. If the first argument starts with @, it is taken as the group name to manipulate, else the action uses the current layer's group. Without arguments or if only a layer name is specified, interactive runs editing.Editgroup([@group], [name=text|type=+bit|type=-bit])]
Editlayer([@layer], attrib, key=value)
EditLayerChange a property or attribute of a layer. If the first argument starts with @, it is taken as the layer name to manipulate, else the action uses the current layer. Without arguments or if only a layer name is specified, interactive runs editing.Editlayer([@layer], [name=text|auto=[0|1]|sub=[0|1])]
Editlayer([@layer], attrib, key=value)
ElementListAdds the given element if it doesn't already exist.ElementList(Start|Done|Need,,,)
ElementSetAttrSets or clears an element-specific attribute.ElementSetAttr(refdes,name[,value])
ElementListAdds the given element if it doesn't already exist.ElementList(Start|Done|Need,,,)
ElementSetAttrSets or clears an element-specific attribute.ElementSetAttr(refdes,name[,value])
EnableVendorEnables automatic drill size mapping.EnableVendor()oldactions plugin
EvalConfPerform various operations on the configuration tree.EvalConf(path) - evaluate a config path in different config sources to figure how it ended up in the native databasediag plugin
ExecCommandRun shell commandSystem(shell_cmd)
FlipFlip a subcircuit to the opposite side of the board.Flip(Object|Selected)
FontEditConvert the current font to a PCB for editing.FontEdit()fontmode plugin
FontSaveConvert the current PCB back to a font.FontSave()fontmode plugin
FreeRotateBufferRotates the current paste buffer contents by the specified angle. The
angle is given in degrees. If no angle is given, the user is prompted
for one.
FreeRotateBuffer([Angle])
FreeRotateBufferRotates the current paste buffer contents by the specified angle. The
angle is given in degrees. If no angle is given, the user is prompted
for one.
FreeRotateBuffer([Angle])
FullScreenHide widgets to get edit area full screenpcb_act_FullScreen(on|off|toggle)
GetStyleReturn integer index (>=0) of the currently active style or -1 if no style is selected (== custom style)GetStyle()
GetValueConvert a coordinate value. Returns an unitless double or FGW_ERR_ARG_CONV. The 3rd parameter controls whether to require relative coordinates (+- prefix). Wraps pcb_get_value_ex().GetValue(input, units, relative, default_unit)act_draw
LoadDsnFromLoads the specified routed dsn file.LoadDsnFrom(filename)dsn importer
LoadEeschemaFromLoads the specified eeschema .net file - the netlist must be an s-expression.LoadEeschemaFrom(filename)kicad plugin
LoadFontFromLoad PCB font from a fileLoadFontFrom([file, id])
LoadFootprintLoads a single footprint by name.pcb_load_footprint(filename[,refdes,value])
LoadFootprintLoads a single footprint by name.pcb_load_footprint(filename[,refdes,value])
LoadFpcbnlFromLoads the specified freepcb netlist.LoadFpcbnlFrom(filename)fpcb_nl importer
LoadFromLoad layout data from a file.LoadFrom(Layout|LayoutToBuffer|SubcToBuffer|Netlist|Revert,filename[,format])
LoadHpglFromLoads the specified hpgl plot file to the current bufferLoadHpglFrom(filename)hpgl importer
ManagePluginsManage plugins dialog.ManagePlugins()
MarkCrosshairSet/Reset the pcb_crosshair mark.MarkCrosshair()
MarkCrosshair(Center)
MessageWrites a message to the log window.message(message)
MinClearGapEnsures that polygons are a minimum distance from objects.MinClearGap(delta)
MinClearGap(Selected, delta)
MinClearGapEnsures that polygons are a minimum distance from objects.MinClearGap(delta)
MinClearGap(Selected, delta)
MinMaskGapoldactions plugin
ModeChange or use the tool mode.Mode(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer)
Mode(Polygon|Rectangle|Remove|Rotate|Text|Thermal|Via)
Mode(Notify|Release|Cancel|Stroke)
Mode(Save|Restore)
MorphPolygonConverts dead polygon islands into separate polygons.pcb_poly_morph(Object|Selected)
MoveLayerMoves/Creates/Deletes Layers.MoveLayer(old,new)
MoveLayer(lid,group,gid)
MoveLayerMoves/Creates/Deletes Layers.MoveLayer(old,new)
MoveLayer(lid,group,gid)
MoveObjectMoves the object under the crosshair.pcb_move_obj(X,Y,[units])
MoveToCurrentLayerMoves objects to the current layer.MoveToCurrentLayer(Object|SelectedObjects)
MoveToCurrentLayerMoves objects to the current layer.MoveToCurrentLayer(Object|SelectedObjects)
NetlistChangedTells the GUI that the netlist has changed.NetlistChanged()oldactions plugin
NewStarts a new layout.New([name])
NewGroupCreate a new layer group with a single, positive drawn layer in itNewGroup(type [,location [, purpose[, auto|sub]]])
PadstackConvertConvert selection or current buffer to padstackPadstackConvert(buffer|selected, [originx, originy])
PadstackEditinteractive pad stack editorPadstackEdit(object, [tab])dialogs plugin
PadstackPlacePlace a pad stack (either proto_id, or if not specified, the default for style)PadstackPlace([proto_id|default], [x, y])
PasteBufferVarious operations on the paste buffer.PasteBuffer(AddSelected|Clear|1..PCB_MAX_BUFFER)
PasteBuffer(Rotate, 1..3)
PasteBuffer(Convert|Restore|Mirror)
PasteBuffer(ToLayout, X, Y, units)
PasteBuffer(ToLayout, crosshair)
PasteBuffer(Save, Filename, [format], [force])
PasteBuffer(Push)
PasteBuffer(Pop)
PasteBufferVarious operations on the paste buffer.PasteBuffer(AddSelected|Clear|1..PCB_MAX_BUFFER)
PasteBuffer(Rotate, 1..3)
PasteBuffer(Convert|Restore|Mirror)
PasteBuffer(ToLayout, X, Y, units)
PasteBuffer(ToLayout, crosshair)
PasteBuffer(Save, Filename, [format], [force])
PasteBuffer(Push)
PasteBuffer(Pop)
Pinout2Present the subcircuit pinout boxPinout()dialogs plugin
PolyCombinepolycombine plugin
PolyHatchhatch the selected polygon(s) with lines of the current style; lines are drawn on the current layer; flags are h:horizontal, v:vertical, c:contour, p:polyPolyHatch([spacing], [hvcp])
PolyHatch(interactive)
lib_polyhelp
PrintVersionPrint version.PrintVersion()
PromptForPrompt for a response.PromptFor([message[,default]])
PstkNewCreate a padstack. For now data must be "pcb". glob_clearance=0 turns off global clearance. Returns the ID of the new object or 0 on error.PstkNew(data, protoID, x, y, glob_clearance, flags)act_draw
PullerPull an arc-line junction tight.pcb_act_Puller()puller plugin
PullerPull an arc-line junction tight.pcb_act_Puller()puller plugin
QuitQuits the application after confirming.Quit()
RedoRedo recent "undo" operations.redo()
RemoveMenuRecursively removes a new menu, popup (only path specified) or submenu. RemoveMenu(path|cookie)
ReportProduce various report.Report(Object|DrillReport|FoundPins|NetLength|NetLengthTo|AllNetLengths|[,name])report plugin
ReportObjectReport on the object under the crosshairReportObject()report plugin
ReturnSimulate a passing or failing action.Return(0|1)oldactions plugin
RipUpRipup auto-routed tracksRipUp(All|Selected|Element)
Rotate90Rotates the object under the crosshair by 90 degree steps.pcb_move_obj(steps)
RipUpRipup auto-routed tracksRipUp(All|Selected|Element)
Rotate90Rotates the object under the crosshair by 90 degree steps.pcb_move_obj(steps)
RouteStyleCopies the indicated routing style into the current pen.RouteStyle(style_id|style_name)
RouteStylesChangedTells the GUI that the routing styles have changed.RouteStylesChanged()oldactions plugin
SaveFontToSave PCB font to a fileSaveFontTo([file, id])
ddraftEnter 2d drafting CLI mode or execute commandddraft([command])ddraft plugin
distributeDistribute subcircuitsDistribute(X/Y, [Lefts/Rights/Tops/Bottoms/Centers/Marks/Gaps, [First/Last/pcb_crosshair, First/Last/pcb_crosshair[, Gridless]]])distalign plugin
distributetextDistribute Text ElementsDistributeText(Y, [Lefts/Rights/Tops/Bottoms/Centers/Gaps, [First/Last/pcb_crosshair, First/Last/pcb_crosshair[, Gridless]]])distaligntext plugin
djoptPerform various optimizations on the current board.djopt(debumpify|unjaggy|simple|vianudge|viatrim|orthopull)
djopt(auto) - all of the above
djopt(miter)
djopt
djoptPerform various optimizations on the current board.djopt(debumpify|unjaggy|simple|vianudge|viatrim|orthopull)
djopt(auto) - all of the above
djopt(miter)
djopt
dlg_testtest the attribute dialogdlg_test()dialogs plugin
dumpconfPerform various operations on the configuration tree.dumpconf(native, [verbose], [prefix]) - dump the native (binary) config tree to stdout
dumpconf(lihata, role, [prefix]) - dump in-memory lihata representation of a config tree
diag plugin
dumpdataDump an aspect of the datadumpdata()diag plugin