乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 61|回复: 1

[编程交流] lisp读取csv文件??

[复制链接]

24

主题

111

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 14:41:40 | 显示全部楼层 |阅读模式
有没有人有一个lisp可以读取csv文件并用它制作表格?唯一需要注意的是,我需要它以十进制形式读取文件,并以建筑英尺和英寸的形式制作表格,这将非常有帮助
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 16:00:27 | 显示全部楼层
这是一个read txt并在一个框中创建多行文本,您需要更仔细地查看这些值并进行更多的数学运算,例如12.34=12+int(.34*12)=12'4“
 
  1.                     ;SETOUTBOX.LSP
  2.                    ; program to draw setout details as a co-ord list
  3.                    ; 29/9/04 by alan
  4. (setvar "menuecho" 0)
  5. (setvar "SNAPMODE" 0)
  6. (SETQ OLDSNAP (GETVAR "OSMODE"))
  7. (setvar "OSMODE" 0)
  8. (defun xyz ()
  9. (setq ans "")
  10. (setq char_found "")
  11. (while (/= char_found ",")
  12.    (setq char_found (substr new_line x 1))
  13.    (setq x (+ x 1))
  14.    (setq ans (strcat ans char_found))
  15. )                    ;end while
  16. )                    ;end defun
  17. (setq setsc (/ (getreal "\nEnter Dwg scale 1: ") 1000.0))
  18. (setq stpt (getpoint "\nPick top left point for details "))
  19. (setq xyzfiles (getfiled "\nENTER CO-ORD File name  " "" "" 4))
  20. (setq fopen (open xyzfiles "R"))
  21. (command "zoom" "E")
  22. (command "zoom" "c" stpt (* setsc 100.0))
  23. (setq pt1 stpt)
  24. (setq txtht (* 2.5 setsc))  ; 2.5mm HIGH LETTERING
  25. (setq num 1)
  26. (setq llen (* 84.0 setsc))
  27. (setq ydiff (* 4.5 setsc))  ; 4.5mm line spacing
  28. (setq stptx (car stpt))
  29. (setq stpty (cadr stpt))
  30. (setq txtpt (list (+ stptx (* 42.0 setsc)) (+ stpty (* 2.0 setsc))))
  31. (command "text" "BC" txtpt txtht "" "xxxxx")
  32. (setq txtpt (list (+ stptx (* 42.0 setsc)) (+ stpty (* 7.0 setsc))))
  33. (command "text" "BC" txtpt txtht "" "%%uSETOUT DETAIL")
  34. (setq pt2 (polar stpt 0.0 llen))
  35. (command "line" stpt pt2 "")        ;draw horizontal line
  36. (setq pt1 (polar stpt 4.7124 (* 5.75 setsc)))
  37. (setq txtpt (polar pt1 0.0 (* 9.0 setsc)))
  38. (command "text" "BC" txtpt (* 3.5 setsc) "" "POINT")
  39. (setq txtpt (polar pt1 0.0 (* 34.0 setsc)))
  40. (command "text" "BC" txtpt (* 3.5 setsc) "" "EASTING")
  41. (setq txtpt (polar pt1 0.0 (* 67.0 setsc)))
  42. (command "text" "BC" txtpt (* 3.5 setsc) "" " NORTHING ")
  43. (setq pt1 (polar stpt 4.7124 (* 8.0 setsc)))
  44. (setq pt2 (polar pt1 0.0 llen))
  45. (command "line" pt1 pt2 "")        ;draw horizontal line
  46. (setq pt1 (polar pt1 4.7124 (* 1.0 setsc)))
  47. (setq pt2 (polar pt1 0.0 llen))
  48. (command "line" pt1 pt2 "")        ;draw horizontal line below above
  49. (setq pt1 (polar pt1 4.7124 (* 1.0 setsc)))
  50. (setq pt2 (polar pt1 0.0 llen))
  51. (command "line" pt1 pt2 "")        ;draw horizontal line below above
  52. (setq pt3 pt1)                ; sets pt to last line position
  53. ;(setq pt5 (polar pt3 1.5708 (* 1.0 setsc)))      ; 1 mm above line
  54. (setq pt5 pt3)                ; 0.5 mm above line
  55. (SETQ XX 1)
  56. (while (setq new_line (read-line fopen))
  57. (PRINC XX)
  58. (setq x 1)
  59. (setq y 5)
  60. (xyz)
  61. (setq ptno ans)            ;pull ptno out
  62. (xyz)
  63. (setq easting ans)
  64. (xyz)
  65. (setq northing ans)
  66. (setq pt3 (polar pt3 4.7124 ydiff))
  67. (setq pt4 (polar pt3 0.0 llen))
  68. (command "line" pt3 pt4 "")
  69. (setq pt5 (polar pt5 4.7124 ydiff))
  70. (setq pt6 (polar pt5 0.0 (* 8.0 setsc)))
  71. (setq pt7 (polar pt5 0.0 (* 28.0 setsc)))
  72. (setq pt8 (polar pt5 0.0 (* 58.0 setsc)))
  73. (command "text" "BL" pt6 txtht "" ptno)
  74. (command "text" "BL" pt7 txtht "" EASTING)
  75. (command "text" "BL" pt8 txtht "" NORTHING)
  76. (SETQ XX (+ XX 1))
  77. )                    ; end while
  78. (command "line" stpt pt3 "")
  79. (setq pt3 (polar pt3 0.0 (* 18.0 setsc)))
  80. (setq stpt (polar stpt 0.0 (* 18.0 setsc)))
  81. (command "line" stpt pt3 "")
  82. (setq pt3 (polar pt3 0.0 (* 33.0 setsc)))
  83. (setq stpt (polar stpt 0.0 (* 33.0 setsc)))
  84. (command "line" stpt pt3 "")
  85. (setq pt3 (polar pt3 0.0 (* 33.0 setsc)))
  86. (setq stpt (polar stpt 0.0 (* 33.0 setsc)))
  87. (command "line" stpt pt3 "")
  88. (princ setsc )
  89. (setq pt1  nil
  90.      pt2  nil
  91.      pt3  nil
  92.      pt4  nil
  93.      pt5  nil
  94.      pt6  nil
  95.      pt7  nil
  96.      pt8  nil
  97.      stpt nil
  98.      ans  nil
  99.      SETSC NIL
  100. )
  101. (SETVAR "OSMODE" OLDSNAP)
  102. (princ)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 00:15 , Processed in 0.455404 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表