乐筑天下

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

[编程交流] (帮助)使用引线绘制多段线

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:21:42 | 显示全部楼层 |阅读模式
你好。
请帮帮我。我是AUTOLISP的新手。
我对现有道路的地形有问题。我想用引线点编号STA和x,y坐标(excel文件)绘制现有道路的中心线多段线,并从值z绘制现有L截面。
 
请帮帮我。
非常感谢
 
规划目标计划。图纸
数据XYZ数据。xls公司
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:29:12 | 显示全部楼层
我得到了这个代码,请更正,如何编辑字符串来绘制z值。
 
 
  1. (defun c:poligon ()
  2. ;====== Input Data ! ====================
  3. ; ! STA !       X (m)     !       Y (m)     !
  4. ; !  (10)    !       (15)      !       (15)      !
  5. ;=================================================
  6. ; disimpan di C:\procad\data\*.prn
  7. ; ++++ INPUT FROM KEY BOARD ++++
  8. (setq fnam1 "C:/Procad/Data/")
  9. (setq fnam2 "*.prn")
  10. (setq fnam3 "/procad/DFILE/CROSS/")
  11. (setq lastLL 2
  12.      lastRR 5
  13. )
  14. (setq f    (getstring
  15.      (strcat "\nFile Input Polygon Data c:/procad/data/ < " fnam2 " > ? : ")
  16.    )
  17. )
  18. (if (/= f "")
  19. (setq fnam2 f)
  20. )
  21. (setq fnam (strcat fnam1 fnam2))
  22. (setq check (findfile fnam))
  23. (while (= check nil)
  24. (prompt "\nNo File Found .....! ")
  25. (setq    f (getstring
  26.        (strcat "\nFile Input Polygon Data c:/procad/data/ < " fnam2 " > ? : ")
  27.      )
  28. )
  29. (if (/= f "")
  30.    (setq fnam2 f)
  31. )
  32. (setq fnam (strcat fnam1 fnam2))
  33. (setq check (findfile fnam))
  34. )                    ; while
  35. ; ====== OUTPUT DATA sudut poligon
  36. (setq filout0 (getstring "\nFile Output Polygon Angle < *.txt > ? : "))
  37. (setq filout (strcat "c:/procad/data/" filout0))
  38. (setq foo (open filout "w"))
  39. ; ====== BACA DATA
  40. (setq fp (open fnam "r"))
  41. (setq file (read-line fp))
  42. (if (= file "") (setq file nil))
  43. (if (= file nil) (setq stop 1) (setq stop 0))
  44. (setq file (read-line fp))
  45. (setq patok0 (substr file 1 7))        ; STA
  46. (setq PX0 (atof (substr file 11 15)))    ; koordinat x1
  47. (setq PY0 (atof (substr file 26 15)))    ; koordinat y1
  48. (setq p0 (list PX0 PY0))
  49. (setq file (read-line fp))
  50. (setq patok1 (substr file 1 7))        ; STA
  51. (setq PX1 (atof (substr file 11 15)))    ; koordinat x1
  52. (setq PY1 (atof (substr file 26 15)))    ; koordinat y1
  53. (setq p1 (list PX1 PY1))
  54. (command "color" 20 "-linetype" "s" "dashdot" "")
  55. (command "pline" p0 p1 "")
  56. ;==== plot garis poligon
  57. (while (= stop 0)
  58. (setq file (read-line fp))
  59. (setq patok2 (substr file 1 7))        ; STA
  60. (setq PX2 (atof (substr file 11 15)))    ; koordinat x1
  61. (setq PY2 (atof (substr file 26 15)))    ; koordinat y1
  62. (setq p2 (list PX2 PY2))
  63. (command "color" 20)
  64. (command "line" p1 p2 "")
  65. (command "color" 2)
  66. (command "point" p1)
  67. (command "color" 7)
  68. (command "text" p1 "3" "45" patok1 "")
  69. (setq sdtp1p0 (angle p1 p0))        ;sudut p1-p0 (radian)
  70. (setq sdtp1p2 (angle p1 p2))        ;sudut p1-p0 (radian)
  71. (setq sdt20 (- sdtp1p0 sdtp1p2))
  72. (setq sdt20a (/ (* sdt20 180.0) pi))    ;sudut1 dalam derajad
  73. (setq sdt20aa (* (- 360.000 sdt20a) 0.50))        ;sudut1 dalam derajad
  74. ;===== tulis data sudut di file output
  75. (setq data (strcat patok1 "   " (rtos sdt20aa 2 3)))
  76. (write-line data foo)
  77. (setq p0 p1)
  78. (setq p1 p2)
  79. (setq patok1 patok2)
  80. (if (= file "")
  81.    (setq file nil)
  82. )
  83. (if (= file nil)
  84.    (setq stop 1)
  85.    (setq stop 0)
  86. )
  87. )                    ;while
  88. (close fp)
  89. (close foo)
  90. );defun
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:01 , Processed in 0.813901 second(s), 56 queries .

© 2020-2025 乐筑天下

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