Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

custom Alias doesn't work for custom command

8 REPLIES 8
SOLVED
Reply
Message 1 of 9
Subje
6030 Views, 8 Replies

custom Alias doesn't work for custom command

I can't make aliases for custom commands.

 

So first i made a macro named VEMO in "Cui" 

 

^C^C_LAYER;Set;3031.Vemo's;;_insert;0303VEMO;\;;;_LAYERP

 Cui_VEMO.png

 

created a button in my ribbon:

 

Ribbon_VEMO.png

 

Button works fine: 

 

Command: _LAYER
Current layer:  "4011.Titelhoek"
Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/MATerial/Plot/PStyle/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile]: Set
Enter layer name to make current or <select object>: 3031.Vemo's
Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/MATerial/Plot/PStyle/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile]:
Command: _insert
Enter block name or [?]: 0303VEMO
Units: Centimeters   Conversion:    1.0000
Specify insertion point or [Basepoint/Scale/X/Y/Z/Rotate]:
Enter X scale factor, specify opposite corner, or [Corner/XYZ] <1>:
Enter Y scale factor <use X scale factor>:
Specify rotation angle <0>:
Command: _LAYERP
Restored previous layer status.

 then i tried to put it in my PGP file:

 

; This PGP file was created with the AutoCAD Alias Editor.
; Last modified 25/11/2013,   18:39

; Use the Alias Editor (ALIASEDIT command) to edit this file.

; 
;
;  Program Parameters File For Autodesk AutoCAD 2014
;  External Command and Command Alias Definitions

;  Copyright 2013 Autodesk, Inc.  All rights reserved.
;
;  Use of this software is subject to the terms of the Autodesk license 
;  agreement provided at the time of installation or download, or which 
;  otherwise accompanies this software in either electronic or hard copy form.

;  Each time you open a new or existing drawing, AutoCAD searches 
;  the support path and reads the first acad.pgp file that it finds.

;  -- External Commands --
;  While AutoCAD is running, you can invoke other programs or utilities
;  such Windows system commands, utilities, and applications.
;  You define external commands by specifying a command name to be used
;  from the AutoCAD command prompt and an executable command string 
;  that is passed to the operating system. 

;  -- Command Aliases --
;  The Command Aliases section of this file provides default settings for
;  AutoCAD command shortcuts.  Note: It is not recommended that  you directly
;  modify this section of the PGP file., as any changes you make to this section of the 
;  file will not migrate successfully if you upgrade your AutoCAD to a
;  newer version.  Instead, make changes to the new 
;  User Defined Command Aliases
;  section towards the end of this file.

;  -- User Defined Command Aliases --
;  You can abbreviate frequently used AutoCAD commands by defining 
;  aliases for them in the User Defined Command Aliases section of acad.pgp.
;  You can create a command alias for any AutoCAD command,
;  device driver command, or external command.

;  Recommendation: back up this file before editing it.  To ensure that
;  any changes you make to PGP settings can successfully be migrated
;  when you upgrade to the next version of AutoCAD, it is suggested that
;  you make any changes to the default settings in the User Defined Command 
;  Aliases section at the end of this file.

;  External command format:
;  <Command name>,[<Shell request>],<Bit flag>,[*]<Prompt>,

;  The bits of the bit flag have the following meanings:
;  Bit 1: if set, don't wait for the application to finish
;  Bit 2: if set, run the application minimized
;  Bit 4: if set, run the application "hidden"
;  Bit 8: if set, put the argument string in quotes
;
;  Fill the "bit flag" field with the sum of the desired bits.
;  Bits 2 and 4 are mutually exclusive; if both are specified, only 
;  the 2 bit is used. The most useful values are likely to be 0 
;  (start the application and wait for it to finish), 1 (start the 
;  application and don't wait), 3 (minimize and don't wait), and 5 
;  (hide and don't wait). Values of 2 and 4 should normally be avoided, 
;  as they make AutoCAD unavailable until the application has completed.
;
;  Bit 8 allows commands like DEL to work properly with filenames that 
;  have spaces such as "long filename.dwg".  Note that this will interfere 
;  with passing space delimited lists of file names to these same commands.
;  If you prefer multiplefile support to using long file names, turn off 
;  the "8" bit in those commands.

;  Examples of external commands for command windows

DEL,       DEL,            8,File to delete: ,
DIR,       DIR,            8,File specification: ,
SH,        ,               1,*OS Command: ,
SHELL,     ,               1,*OS Command: ,
START,     START,          1,*Application to start: ,
TYPE,      TYPE,           8,File to list: ,

; Examples of external commands for Windows
; See also the (STARTAPP) AutoLISP function for an alternative method.

EXPLORER,  START EXPLORER, 1,,
NOTEPAD,   START NOTEPAD,  1,*File to edit: ,
PBRUSH,    START PBRUSH,   1,,


; Command alias format:
;   <Alias>,*<Full command name>

;  The following are guidelines for creating new command aliases.
;  1. An alias should reduce a command by at least two characters. 
;      Commands with a control key equivalent, status bar button, 
;      or function key do not require a command alias. 
;      Examples: Control N, O, P, and S for New, Open, Print, Save.
;  2. Try the first character of the command, then try the first two, 
;      then the first three.
;  3. Once an alias is defined, add suffixes for related aliases: 
;      Examples: R for Redraw, RA for Redrawall, L for Line, LT for 
;      Linetype.
;  4. Use a hyphen to differentiate between command line and dialog 
;      box commands.
;      Example: B for Block, -B for -Block.
;
; Exceptions to the rules include AA for Area, T for Mtext, X for Explode.

;  -- Sample aliases for AutoCAD commands --                   
;  These examples include most frequently used commands.  NOTE: It is recommended 
;  that you not make any changes to this section of the PGP file to ensure the 
;  proper migration of your customizations when you upgrade to the next version of 
;  AutoCAD.  The aliases listed in this section are repeated in the User Custom
;  Settings section at the end of this file, which can safely be edited while
;  ensuring your changes will successfully migrate.



3A,        *3DARRAY
3DMIRROR,  *MIRROR3D
3DNavigate,*3DWALK
3DO,       *3DORBIT
3DP,	   *3DPRINT
3DPLOT,    *3DPRINT
3DW,       *3DWALK
3F,        *3DFACE
3M,        *3DMOVE
3P,        *3DPOLY
3R,        *3DROTATE
3S,        *3DSCALE
A,         *ARC
AC,        *BACTION
ADC,       *ADCENTER
AECTOACAD, *-ExportToAutoCAD
AA,        *AREA
AL,        *ALIGN
3AL,       *3DALIGN
AP,        *APPLOAD
APLAY,     *ALLPLAY
AR,        *ARRAY
-AR,       *-ARRAY
ARR,       *ACTRECORD
ARM,       *ACTUSERMESSAGE
-ARM,      *-ACTUSERMESSAGE
ARU,       *ACTUSERINPUT
ARS,       *ACTSTOP
-ARS,       *-ACTSTOP
ATI,       *ATTIPEDIT
ATT,       *ATTDEF
-ATT,      *-ATTDEF
ATE,       *ATTEDIT
-ATE,      *-ATTEDIT
ATTE,      *-ATTEDIT
B,         *BLOCK
-B,        *-BLOCK
BC,        *BCLOSE
BE,        *BEDIT
BH,        *HATCH
BLENDSRF,  *SURFBLEND
BO,        *BOUNDARY
-BO,       *-BOUNDARY
BR,        *BREAK
BS,        *BSAVE
BVS,       *BVSTATE
C,         *CIRCLE
CAM,       *CAMERA
CBAR,      *CONSTRAINTBAR
CH,        *PROPERTIES
-CH,       *CHANGE
CHA,       *CHAMFER
CHK,       *CHECKSTANDARDS
CLI,       *COMMANDLINE
COL,       *COLOR
COLOUR,    *COLOR
CO,        *COPY
CONVTOMESH, *MESHSMOOTH
CP,        *COPY
CPARAM,    *BCPARAMETER
CREASE,    *MESHCREASE
CREATESOLID, *SURFSCULPT
CSETTINGS, *CONSTRAINTSETTINGS
CT,        *CTABLESTYLE
CUBE,      *NAVVCUBE
CURVATUREANALYSIS, *ANALYSISCURVATURE
CYL,       *CYLINDER
D,         *DIMSTYLE
DAL,       *DIMALIGNED
DAN,       *DIMANGULAR
DAR,       *DIMARC
DELETE,    *ERASE
JOG,       *DIMJOGGED
DBA,       *DIMBASELINE
DBC,       *DBCONNECT
DC,        *ADCENTER
DCE,       *DIMCENTER
DCENTER,   *ADCENTER
DCO,       *DIMCONTINUE
DCON,      *DIMCONSTRAINT
DDA,       *DIMDISASSOCIATE
DDI,       *DIMDIAMETER
DED,       *DIMEDIT
DELCON,    *DELCONSTRAINT
DI,        *DIST
DIV,       *DIVIDE
DJL,       *DIMJOGLINE
DJO,       *DIMJOGGED
DL,        *DATALINK
DLI,       *DIMLINEAR
DLU,       *DATALINKUPDATE
DO,        *DONUT
DOR,       *DIMORDINATE
DOV,       *DIMOVERRIDE
DR,        *DRAWORDER
DRA,       *DIMRADIUS
DRAFTANGLEANALYSIS, *ANALYSISDRAFTANGLE
DRE,       *DIMREASSOCIATE
DRM,       *DRAWINGRECOVERY
DS,        *DSETTINGS
DST,       *DIMSTYLE
DT,        *TEXT
DV,        *DVIEW
DX,        *DATAEXTRACTION
E,         *ERASE
ED,        *DDEDIT
EL,        *ELLIPSE
ER,        *EXTERNALREFERENCES
ESHOT,     *EDITSHOT
EX,        *EXTEND
EXIT,      *QUIT
EXP,       *EXPORT
EXT,       *EXTRUDE
EXTENDSRF, *SURFEXTEND
F,         *FILLET
FI,        *FILTER
FILLETSRF, *SURFFILLET
FREEPOINT, *POINTLIGHT
FSHOT,     *FLATSHOT
G,         *GROUP
-G,        *-GROUP
GCON,      *GEOMCONSTRAINT
GD,        *GRADIENT
GENERATESECTION,  *SECTIONPLANETOBLOCK
GEO,       *GEOGRAPHICLOCATION
GR,        *DDGRIPS
H,         *HATCH
-H,        *-HATCH
HE,        *HATCHEDIT
HB,        *HATCHTOBACK
HI,        *HIDE
I,         *INSERT
-I,        *-INSERT
IAD,       *IMAGEADJUST
IAT,       *IMAGEATTACH
ICL,       *IMAGECLIP
IM,        *IMAGE
-IM,       *-IMAGE
IMP,       *IMPORT
IN,        *INTERSECT
INSERTCONTROLPOINT, *CVADD
INF,       *INTERFERE
IO,        *INSERTOBJ
ISOLATE,   *ISOLATEOBJECTS
QVD,       *QVDRAWING
QVDC,      *QVDRAWINGCLOSE
QVL,       *QVLAYOUT
QVLC,      *QVLAYOUTCLOSE
J,         *JOIN
JOGSECTION,  *SECTIONPLANEJOG
L,         *LINE
LA,        *LAYER
-LA,       *-LAYER
LAS,       *LAYERSTATE
LE,        *QLEADER
LEN,       *LENGTHEN
LESS,      *MESHSMOOTHLESS
LI,        *LIST
LINEWEIGHT, *LWEIGHT
LMAN,      *LAYERSTATE
LO,        *-LAYOUT
LS,        *LIST
LT,        *LINETYPE
-LT,       *-LINETYPE
LTYPE,     *LINETYPE
-LTYPE,    *-LINETYPE
LTS,       *LTSCALE
LW,        *LWEIGHT
M,         *MOVE
MA,        *MATCHPROP
MAT,       *MATBROWSEROPEN
ME,        *MEASURE
MEA,       *MEASUREGEOM
MI,        *MIRROR
ML,        *MLINE
MLA,       *MLEADERALIGN
MLC,       *MLEADERCOLLECT
MLD,       *MLEADER
MLE,       *MLEADEREDIT
MLS,       *MLEADERSTYLE
MO,        *PROPERTIES
MORE,      *MESHSMOOTHMORE
MOTION,    *NAVSMOTION
MOTIONCLS, *NAVSMOTIONCLOSE
MS,        *MSPACE
MSM,       *MARKUP
MT,        *MTEXT
MV,        *MVIEW
NETWORKSRF,*SURFNETWORK
NORTH,     *GEOGRAPHICLOCATION
NORTHDIR,  *GEOGRAPHICLOCATION
NSHOT,     *NEWSHOT
NVIEW,     *NEWVIEW
O,         *OFFSET
OFFSETSRF, *SURFOFFSET
OP,        *OPTIONS
ORBIT,     *3DORBIT
OS,        *OSNAP
-OS,       *-OSNAP
P,         *PAN
-P,        *-PAN
PA,        *PASTESPEC
RAPIDPROTOTYPE, *3DPRINT
PAR,       *PARAMETERS
-PAR,      *-PARAMETERS
PARAM,     *BPARAMETER
PARTIALOPEN, *-PARTIALOPEN
PATCH,     *SURFPATCH
PC,        *POINTCLOUD
PCATTACH,  *POINTCLOUDATTACH
PCINDEX,   *POINTCLOUDINDEX
PE,        *PEDIT
PL,        *PLINE
PO,        *POINT
POFF,      *HIDEPALETTES
POINTON,   *CVSHOW
POINTOFF,  *CVHIDE
POL,       *POLYGON
PON,       *SHOWPALETTES
PR,        *PROPERTIES
PRCLOSE,   *PROPERTIESCLOSE
PROPS,     *PROPERTIES
PRE,       *PREVIEW
PRINT,     *PLOT
PS,        *PSPACE
PSOLID,    *POLYSOLID
PTW,       *PUBLISHTOWEB
PU,        *PURGE
-PU,       *-PURGE
PYR,       *PYRAMID
QC,        *QUICKCALC
QCUI,      *QUICKCUI
QP,        *QUICKPROPERTIES
RED,         *REDRAW
RA,        *REDRAWALL
RC,        *RENDERCROP
RE,        *REGEN
REA,       *REGENALL
REBUILD,   *CVREBUILD
REC,       *RECTANG
REFINE,    *MESHREFINE
REG,       *REGION
REMOVECONTROLPOINT, *CVREMOVE
REN,       *RENAME
-REN,      *-RENAME
REV,       *REVOLVE
R,         *ROTATE
RP,        *RENDERPRESETS
RPR,       *RPREF
RR,        *RENDER
RW,        *RENDERWIN
S,         *STRETCH
SC,        *SCALE
SCR,       *SCRIPT
SE,        *DSETTINGS
SEC,       *SECTION
SET,       *SETVAR
SHA,       *SHADEMODE
SL,        *SLICE
SMOOTH,    *MESHSMOOTH
SN,        *SNAP
SO,        *SOLID
SP,        *SPELL
SPL,       *SPLINE
SPLANE,    *SECTIONPLANE
SPLAY,     *SEQUENCEPLAY
SPLIT,     *MESHSPLIT
SPE,       *SPLINEDIT
SSM,       *SHEETSET
ST,        *STYLE
STA,       *STANDARDS
SU,        *SUBTRACT
T,         *MTEXT
-T,        *-MTEXT
TA,        *TABLET
TB,        *TABLE
TEDIT,     *TEXTEDIT
TH,        *THICKNESS
TI,        *TILEMODE
TO,        *TOOLBAR
TOL,       *TOLERANCE
TOR,       *TORUS
TP,        *TOOLPALETTES
TR,        *TRIM
TS,        *TABLESTYLE
UC,        *UCSMAN
UN,        *UNITS
-UN,       *-UNITS
UNCREASE,  *MESHUNCREASE
UNHIDE,    *UNISOLATEOBJECTS
UNI,       *UNION
UNISOLATE, *UNISOLATEOBJECTS
V,         *VIEW
VGO,       *VIEWGO
VPLAY,     *VIEWPLAY
-V,        *-VIEW
VP,        *DDVPOINT
-VP,       *VPOINT
VS,	   *VSCURRENT
VSM,       *VISUALSTYLES
-VSM,      *-VISUALSTYLES
W,         *WBLOCK
-W,        *-WBLOCK
WE,        *WEDGE
WHEEL,     *NAVSWHEEL
X,         *EXPLODE
XA,        *XATTACH
XB,        *XBIND
-XB,       *-XBIND
XC,        *XCLIP
XL,        *XLINE
XR,        *XREF
-XR,       *-XREF
Z,         *ZOOM
ZEBRA,     *ANALYSISZEBRA

; The following are alternative aliases and aliases as supplied 
;  in AutoCAD Release 13.

AV,        *DSVIEWER
CP,        *COPY
DIMALI,    *DIMALIGNED
DIMANG,    *DIMANGULAR
DIMBASE,   *DIMBASELINE
DIMCONT,   *DIMCONTINUE
DIMDIA,    *DIMDIAMETER
DIMED,     *DIMEDIT
DIMTED,    *DIMTEDIT
DIMLIN,    *DIMLINEAR
DIMORD,    *DIMORDINATE
DIMRAD,    *DIMRADIUS
DIMSTY,    *DIMSTYLE
DIMOVER,   *DIMOVERRIDE
LEAD,      *LEADER
TM,        *TILEMODE

; Aliases for Hyperlink/URL Release 14 compatibility
SAVEURL, *SAVE
OPENURL,   *OPEN
INSERTURL, *INSERT

; Aliases for commands discontinued in AutoCAD 2000:
AAD,        *DBCONNECT
AEX,        *DBCONNECT 
ALI,        *DBCONNECT 
ASQ,        *DBCONNECT 
ARO,        *DBCONNECT 
ASE,        *DBCONNECT
DDATTDEF,   *ATTDEF
DDATTEXT,   *ATTEXT
DDCHPROP,   *PROPERTIES
DDCOLOR,    *COLOR
DDLMODES,   *LAYER
DDLTYPE,    *LINETYPE
DDMODIFY,   *PROPERTIES
DDOSNAP,    *OSNAP
DDUCS,      *UCS

; Aliases for commands discontinued in AutoCAD 2004:
ACADBLOCKDIALOG,  *BLOCK
ACADWBLOCKDIALOG, *WBLOCK
ADCENTER,         *ADCENTER
BMAKE,            *BLOCK
BMOD,             *BLOCK
BPOLY,            *BOUNDARY
CONTENT,          *ADCENTER
DDATTE,           *ATTEDIT
DDIM,             *DIMSTYLE
DDINSERT,         *INSERT
DDPLOTSTAMP,      *PLOTSTAMP
DDRMODES,         *DSETTINGS
DDSTYLE,          *STYLE
DDUCS,            *UCSMAN
DDUCSP,           *UCSMAN
DDUNITS,          *UNITS
DDVIEW,           *VIEW
DIMHORIZONTAL,    *DIMLINEAR
DIMROTATED,       *DIMLINEAR
DIMVERTICAL,      *DIMLINEAR
DOUGHNUT,         *DONUT
DTEXT,            *TEXT
DWFOUT,           *PLOT
DXFIN,            *OPEN
DXFOUT,           *SAVEAS
PAINTER,          *MATCHPROP
PREFERENCES,      *OPTIONS
RECTANGLE,        *RECTANG
SHADE,            *SHADEMODE
VIEWPORTS,        *VPORTS
EDWFX,            *EXPORTDWFX
EDWF,             *EXPORTDWF
EPDF,             *EXPORTPDF
-QPUB,            *-EXPORT
; Aliases for commands discontinued in AutoCAD 2007:
RMAT,      *MATBROWSEROPEN
FOG,       *RENDERENVIRONMENT
FINISH,    *MATERIALS
SETUV,     *MATERIALMAP
SHOWMAT,   *LIST
RFILEOPT,  *RENDERPRESETS
RENDSCR,   *RENDERWIN

; Aliases for commands discontinued in AutoCAD 2009:
DASHBOARD,          *RIBBON
DASHBOARDCLOSE,     *RIBBONCLOSE

; Aliases for sysvars discontinued in AutoCAD 2013:
RASTERPREVIEW,      *THUMBSAVE
AUTOCOMPLETE,       *-INPUTSEARCHOPTIONS
AUTOCOMPLETEMODE,   *-INPUTSEARCHOPTIONS
AUTOCOMPLETEDELAY,  *INPUTSEARCHDELAY

;  -- User Defined Command Aliases --
;  Make any changes or additions to the default AutoCAD command aliases in 
;  this section to ensure successful migration of these settings when you
;  upgrade to the next version of AutoCAD.  If a command alias appears more
;  than once in this file, items in the User Defined Command Alias take
;  precedence over duplicates that appear earlier in the file.
;  **********----------**********  ; No xlate ; DO NOT REMOVE
VEMO,*VEMO
41,      *401K
42,      *402H
12,      *cirkel
303V,    *303V
309O,    *309O

 and after a reinit i discover i doesn't work. i did some research about Lisp (first time) and i found out that you can make commands with Lisp to.

 

So i made a Txt file with the contents: 

 

(DEFUN C:VEMO () (COMMAND "VEMO"))

 in my personal file. C:\Program Files\Autodesk\AutoCAD 2014\Support\en-us (file: Commands.lisp)

 

MAP_LSP.png

 

But when i load the lisp in "load application". and restart autocad it doesn work: 

 

COMMAND_VEMO.png

 

COMMAND_VEMO2.png

 

So i must doing something wrong in all those steps? i m very new to lisp etc. so a good explaining is needed 🙂 when giving solutions or questions.

 

Shout away

 

PS: already been to 

http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Alias-with-custom-command/m-p/3797572...

but i m doing it prob wrong or something like that

 

 

__________________________________________________________________________________
There isn't anything you can't to do if you keep believing.

Met vriendelijk groeten, With best regards,
Sincères salutations,

Dieter Bevernage
8 REPLIES 8
Message 2 of 9
Subje
in reply to: Subje

I m using AUTOCAD 2014 (but i would need to work with ASD 2014 to)
__________________________________________________________________________________
There isn't anything you can't to do if you keep believing.

Met vriendelijk groeten, With best regards,
Sincères salutations,

Dieter Bevernage
Message 3 of 9
Kent1Cooper
in reply to: Subje

If VEMO is just a name assigned to a button that contains a macro routine, I don't think that qualifies it as a defined command that can be called up by any means other than that button.  The AutoLISP (command) function can only use actual AutoCAD command names, not User-defined commands.  Your (defun) definition of VEMO can't call the same command name [although it is possible to do something similar to that if you re-define an AutoCAD command name after Undefining it, such as (for example) to include forcing it to set a certain Layer current when drawing a certain type of entity, but that's another topic].

 

I would go about it this way:

 

Make a file called VEMO.lsp [not .txt], to do what the macro does, but in LISP terminology, something like this [untested]:

 

(defun C:VEMO ()

  (command

    "_.LAYER" "_Set" "3031.Vemo's" ""

    "_.insert" "0303VEMO" pause "" "" ""

    "_.LAYERP"

  ); command

); defun

 

In your acaddoc.lsp file, put something in to make that command name available:

 

(load "VEMO")

 

or, if you want it to not load it unless and until the User calls for the command:

 

(autoload "VEMO" '("VEMO"))

 

Then it will be available without the need for an alias in the .pgp file [besides, there's not much point in using an alias that's the same as the full command name], and the contents of the button in the ribbon can be just:

 

^C^CVEMO

 

or if that doesn't work [I don't have any buttons quite analagous to that situation], it may need to be this way, as would be required to call a User-defined command within another LISP routine:

 

^C^C(C:VEMO)

Kent Cooper, AIA
Message 4 of 9
Subje
in reply to: Kent1Cooper

Kent,
it works!
can you make the lisp repeat himself?

Thanks!
__________________________________________________________________________________
There isn't anything you can't to do if you keep believing.

Met vriendelijk groeten, With best regards,
Sincères salutations,

Dieter Bevernage
Message 5 of 9
Kent1Cooper
in reply to: Subje


@Subje wrote:
Kent,
it works!
can you make the lisp repeat himself?

Thanks!

Lucked out on that one....

 

You can build repeating in, something like this:

 

(defun C:VEMO (/ inspt)

  (command "_.LAYER" "_Set" "3031.Vemo's" "")

  (while (setq inspt (getpoint "\nInsertion point: "))

    (command

      "_.insert" "0303VEMO" inspt "" "" ""

    ); command

  ); while

  (command "_.layerp")

); defun

 

However, that won't let you see the Block dragging as you go for the insertion point.  There are several [untested] ways you could have it do that, the simplest but crudest of which is to require the User to hit Escape when they don't want to insert any more:

 

(defun C:VEMO (/ *error*)

  (defun *error* ()

    (command "_.layerp")

  ); defun -- *error*

  (command "_.LAYER" "_Set" "3031.Vemo's" "")

  (while T

    (command "_.insert" "0303VEMO" pause "" "" "")

  ); while

); defun

 

But it can be more sophisticated, for instance allowing Enter or space or Escape to end it:

 

(defun C:VEMO (/ *error* inspt done)

  (defun *error* (); on Escape at insertion-point prompt

    (command "_.layerp")

  ); defun -- *error*

  (command "_.LAYER" "_Set" "3031.Vemo's" "")

  (while (not done)

    (command "_.insert" "0303VEMO"); leave in command

    (cond ; at insertion-point prompt

      ((setq inspt (getpoint "\nInsertion point or <exit>: )); point if picked, nil if Enter

        (command inspt "" "" ""); finish Insertion

      ); end picked-a-point condition

      (T ; on Enter/space at insertion-point prompt

        (command); cancel Insert

        (setq done T); stop (while) loop

      ); end exit condition

    ); cond

  ); while

  (command "_.layerp")

); defun

Kent Cooper, AIA
Message 6 of 9
Subje
in reply to: Kent1Cooper

the third one doesn't work. i am using now the second one. is there any tutorial that explains the third lisp? i want to learn fast the basics and difference between the functions.

thanks Kent!
__________________________________________________________________________________
There isn't anything you can't to do if you keep believing.

Met vriendelijk groeten, With best regards,
Sincères salutations,

Dieter Bevernage
Message 7 of 9
Kent1Cooper
in reply to: Subje


@Subje wrote:
the third one doesn't work. ....

That's probably because I seem to have omitted the closing double-quote in the prompt:

....

 

      ((setq inspt (getpoint "\nInsertion point or <exit>: ")); point if picked, nil if Enter

....

 

It works for me here with that correction, though not quite as I expected [Escape doesn't exit it cleanly, and it doesn't show the Block dragging] -- I'll have to think about that....

 

EDIT:

Escape exits cleanly if you add a (command) with no arguments, to cancel the Insert command, [further Edit: and a message argument, even though it's not used] in the error handler:

....

  (defun *error* (errmsg); on Escape at insertion-point prompt
    (command); cancel Insert command, then
    (command "_.layerp")
  ); defun -- *error*

....

Kent Cooper, AIA
Message 8 of 9
Subje
in reply to: Kent1Cooper

(defun C:VEMO (/ *error* inspt done)
  (defun *error* (errmsg); on Escape at insertion-point prompt
    (command); cancel Insert command, then
    (command "_.layerp")
  ); defun -- *error*
  (command "_.LAYER" "_Set" "3031.Vemo's" "")
  (while (not done)
    (command "_.insert" "0303VEMO"); leave in command
    (cond ; at insertion-point prompt
      ((setq inspt (getpoint "\nInsertion point or <exit>: ")); point if picked, nil if Enter
        (command inspt "" "" ""); finish Insertion
      ); end picked-a-point condition
      (T ; on Enter/space at insertion-point prompt
        (command); cancel Insert
        (setq done T); stop (while) loop
      ); end exit condition
    ); cond
  ); while
  (command "_.layerp")
); defun

 

so that's what i have for some other followers (last edit). Works for me, did also the first edit, with the wrong excape exit, i got a scalefunction then. Nicely done kent! that thing will help me a lot. thanks!

__________________________________________________________________________________
There isn't anything you can't to do if you keep believing.

Met vriendelijk groeten, With best regards,
Sincères salutations,

Dieter Bevernage
Message 9 of 9
Kent1Cooper
in reply to: Subje


@Subje wrote:

 

.... Nicely done kent! that thing will help me a lot. thanks!


You're welcome, and thank you for racking up three Solutions-authored for me on one thread!  [Gotta keep my count up, so they'll keep me on as an Expert Elite, after all.]

Kent Cooper, AIA

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost