尝试以下操作:
- ([color=BLUE]defun[/color] c:csv2blk ( [color=BLUE]/[/color] *error* blk cmd cnt csv des dwg ins str )
- ([color=BLUE]defun[/color] *error* ( msg )
- ([color=BLUE]if[/color] ([color=BLUE]=[/color] 'file ([color=BLUE]type[/color] des)) ([color=BLUE]close[/color] des))
- ([color=BLUE]if[/color] ([color=BLUE]=[/color] 'int ([color=BLUE]type[/color] cmd)) ([color=BLUE]setvar[/color] 'cmdecho cmd))
- ([color=BLUE]if[/color] ([color=blue]and[/color] msg ([color=BLUE]not[/color] ([color=BLUE]wcmatch[/color] ([color=BLUE]strcase[/color] msg [color=BLUE]t[/color]) [color=MAROON]"*break,*cancel*,*exit*"[/color])))
- ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\nError: "[/color] msg))
- )
- ([color=BLUE]princ[/color])
- )
- ([color=BLUE]setq[/color] blk [color=darkred]"ppoint"[/color] [color=GREEN];; Block to insert[/color]
- cmd ([color=BLUE]getvar[/color] 'cmdecho)
- )
- ([color=BLUE]setvar[/color] 'cmdecho 0)
- ([color=BLUE]cond[/color]
- ( ([color=BLUE]not[/color]
- ([color=BLUE]or[/color] ([color=BLUE]tblsearch[/color] [color=MAROON]"block"[/color] ([color=BLUE]setq[/color] dwg blk))
- ([color=BLUE]and[/color] ([color=BLUE]setq[/color] dwg ([color=BLUE]findfile[/color] ([color=BLUE]strcat[/color] blk [color=MAROON]".dwg"[/color])))
- ([color=BLUE]progn[/color]
- ([color=BLUE]command[/color] [color=MAROON]"_.-insert"[/color] dwg [color=BLUE]nil[/color])
- ([color=BLUE]tblsearch[/color] [color=MAROON]"block"[/color] ([color=BLUE]setq[/color] dwg blk))
- )
- )
- )
- )
- ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\n""[/color] blk [color=MAROON]".dwg" not found."[/color]))
- )
- ( ([color=BLUE]not[/color] ([color=BLUE]setq[/color] csv ([color=BLUE]getfiled[/color] [color=MAROON]"Select CSV"[/color] [color=MAROON]""[/color] [color=MAROON]"csv"[/color] 16))))
- ( ([color=BLUE]not[/color] ([color=BLUE]setq[/color] des ([color=BLUE]open[/color] csv [color=MAROON]"r"[/color])))
- ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\nUnable to open ""[/color] csv [color=MAROON]"" for reading."[/color]))
- )
- ( ([color=BLUE]setq[/color] cnt 0)
- ([color=BLUE]while[/color] ([color=BLUE]setq[/color] str ([color=BLUE]read-line[/color] des))
- ([color=BLUE]if[/color] ([color=BLUE]and[/color] ([color=BLUE]setq[/color] ins ([color=BLUE]read[/color] ([color=BLUE]strcat[/color] [color=MAROON]"("[/color] ([color=BLUE]vl-string-translate[/color] [color=MAROON]","[/color] [color=MAROON]" "[/color] str) [color=MAROON]")"[/color])))
- ([color=BLUE]<[/color] 1 ([color=BLUE]length[/color] ins) 4)
- ([color=BLUE]vl-every[/color] '[color=BLUE]numberp[/color] ins)
- ([color=BLUE]setq[/color] cnt ([color=BLUE]1+[/color] cnt))
- )
- ([color=BLUE]command[/color] [color=MAROON]"_.-insert"[/color] dwg [color=MAROON]"_s"[/color] 1.0 [color=MAROON]"_r"[/color] 0.0 [color=MAROON]"_non"[/color] ins)
- ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\n""[/color] str [color=MAROON]"" is not a valid point."[/color]))
- )
- )
- ([color=BLUE]setq[/color] des ([color=BLUE]close[/color] des))
- ([color=BLUE]if[/color] ([color=BLUE]<[/color] 0 cnt)
- ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\n"[/color] ([color=BLUE]itoa[/color] cnt) [color=MAROON]" block"[/color] ([color=BLUE]if[/color] ([color=BLUE]=[/color] 1 cnt) [color=MAROON]""[/color] [color=MAROON]"s"[/color]) [color=MAROON]" inserted."[/color]))
- ([color=BLUE]princ[/color] [color=MAROON]"\nSelected CSV file does not contain valid point data."[/color])
- )
- )
- )
- (*error* [color=blue]nil[/color])
- ([color=BLUE]princ[/color])
- )
|