TheSwamp
Code Red => AutoLISP (Vanilla / Visual) => Topic started by: andrew_nao on June 16, 2011, 10:03:19 AM
-
anyone know how i can get this but using diesel instead
(substr (vl-Filename-Base (vl-Filename-Directory (getvar "Dwgprefix")))1 6)
i tried the above with diesel but it doesnt work
so i came up with the following, but if the length of the directory name changes, i get undesired results
$(SUBSTR, $(substr, $(getvar, dwgprefix), 18, $(-, $(strlen, $(getvar, dwgprefix)), 5)), 2, 6)
any help is appreciated
-
What part of your path are you trying to grab? First folder?
-
What part of your path are you trying to grab? First folder?
an example would be
F:\DWG\directory\123456 sub directory
im after the "123456" or the first 6 places in the sub dir or whatever dir the dwg is in that i currently have opened
-
(menucmd
(strcat
"M=$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 5), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 4), 4),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 6), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 5), 5),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 7), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 6), 6),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 8), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 7), 7),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 9), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 8), 8),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 10), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)),9), 9),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 11), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 10), 10),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 12), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 11), 11),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 13), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 12), 12),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 14), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 13), 13),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 15), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 14), 14),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 16), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 15), 15),)"
) ;_ strcat
)
-
(menucmd
(strcat
"M=$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 5), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 4), 4),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 6), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 5), 5),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 7), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 6), 6),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 8), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 7), 7),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 9), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 8), 8),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 10), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)),9), 9),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 11), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 10), 10),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 12), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 11), 11),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 13), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 12), 12),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 14), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 13), 13),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 15), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 14), 14),)"
"$(if, $(eq, \\, $(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 16), 1)),$(substr, $(getvar, dwgprefix), $(-, $(strlen, $(getvar, dwgprefix)), 15), 15),)"
) ;_ strcat
)
thanks but i need just 1 line if possible im using it as a field inside of a block
i dont think all these will work
-
thanks but i need just 1 line if possible im using it as a field inside of a block
i dont think all these will work
test to:
"$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),5),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),4),4),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),6),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),5),5),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),7),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),6),6),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),8),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),7),7),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),9),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),8),8),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),10),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),9),9),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),11),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),10),10),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),12),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),11),11),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),13),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),12),12),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),14),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),13),13),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),15),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),14),14),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),16),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),15),15),)"
-
Holy character strings, CodeMan! :-o
-
thanks but i need just 1 line if possible im using it as a field inside of a block
i dont think all these will work
test to:
"$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),5),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),4),4),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),6),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),5),5),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),7),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),6),6),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),8),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),7),7),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),9),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),8),8),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),10),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),9),9),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),11),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),10),10),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),12),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),11),11),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),13),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),12),12),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),14),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),13),13),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),15),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),14),14),)$(if,$(eq,\\,$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),16),1)),$(substr,$(getvar,dwgprefix),$(-,$(strlen,$(getvar,dwgprefix)),15),15),)"
thanks but that didnt work either ill just make a lisp to delete the old block and put a new block in and update it that way with attributes
appreciate the help though