乐筑天下

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

[编程交流] 指导

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:43:52 | 显示全部楼层 |阅读模式
大家好。我有一个Lisp程序的问题,不知道这个很棒的网站上是否有人能为我指出正确的方向。以下是我想要做的:
 
随附文件为雷达波束扩展布局。基本上,这是一个12海里的圆圈,有风力涡轮机和雷达的位置。我在这个文件中的练习是从我们的雷达(在固定位置)投射一个雷达波束,并显示该波束被风力涡轮机立柱阻挡的位置。在本例中,有66台涡轮机,他们要求我为每个项目创建闭合多段线:
 
1、波束从雷达传播到立柱位置
2、梁堵塞超过该立柱位置
3、任何一侧的透明梁,超过该立柱位置
 
每个涡轮机总共有4条闭合多段线。所有这些多段线都会导入到Arch GIS中,以生成最终产品。
 
在这个文件中,我为每个项目创建了边界(在第一列位置),然后将所有这些边界复制并旋转到下一个涡轮机,并修改排列以匹配新的涡轮机位置。这样做66次是非常乏味的,我有另一个雷达定位做这个网站。这可以用LISP例程完成吗?如果是这样,我应该开始研究LISP例程的哪些方面来实现它?我不是在寻找任何人帮我做这件事,只是一些一般性的指导。目前这对时间不敏感。我只是在寻找一个更快的方式来完成这一点,因为我将在未来有更多的此类项目。提前感谢您的帮助。
波束扩展-南部雷达。图纸
回复

使用道具 举报

14

主题

719

帖子

706

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 08:54:36 | 显示全部楼层
这是一个完整的切线,我道歉,如果我猪你的线程,我真的不知道关于Lisp程序。
 
但是
 
我的公司对雷达和风力涡轮机以及你提到的堵塞进行了研究。简而言之,他们得出的结论是,雷达被机翼的整个跨度所阻挡,就像机翼被圆盘所取代一样。我发现这很有趣,翅膀看起来没那么大,旋转也不太快。希望我能找到一个来源,虽然这进一步解释了它。。。
 
只是相切,抱歉打扰了。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 09:03:40 | 显示全部楼层
非常有趣的项目。(极性)函数将成为您的朋友。
 
对于每个涡轮机来说,这实际上是相当简单的计算。假设每个涡轮机总共有5个点
 
点将从雷达中心到障碍物的任一侧,然后延伸到外部边界
 
-大卫
 
 
只是涡轮机的塔架还是叶片也出现堵塞?
 
距离和尺寸需要转换为单个单位(英尺、英里、公里),以使每个人的生活更轻松。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:13:00 | 显示全部楼层
不用担心,老虎。我在这里的主要工作是为营销制作图纸和平面设计。关于我们实际的雷达技术,我对这一切都很陌生。我要把这件事告诉我们的GIS人员,看看他说了些什么。(出于好奇)。他们正在寻找利用我为潜在客户开发演示材料的方法。我想他们可以在Arch GIS中这样做,但这需要更长的时间。我所能做的就是为他们提供他们想要的。。。。。开始学习雷达技术,这样我就能更好地理解其中的内容。谢谢你的信息。。。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:18:00 | 显示全部楼层
目前,他们要求我只使用这个项目的列。他们可能还会回来索要实际的刀片。我将根据老虎队的帖子向他们提及这一点,看看他们对此有何看法。在我看来,你会让雷达穿过叶片,只是不是一个清晰的光束。再说一次,我是雷达技术新手。我要开始研究LISPS,看看我能想出什么。谢谢你的意见。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 09:22:33 | 显示全部楼层
只是出于好奇,A到B的距离是如何确定的?我假设这个圆是涡轮机塔,而绿色的柱线是被阻塞的区域。
 
雷达波束是否有一个设定的夹角-大卫
094354kqb2gyg2qztgbwpp.jpg
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:31:37 | 显示全部楼层
你好,大卫。总共是。距离雷达位置中心45度。(从中心向任意方向0.225)你是对的,圆圈是涡轮机塔,绿色是远处的阻塞梁。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:40:39 | 显示全部楼层
大卫,我刚想到我没有真正回答你最初的问题。我做这件事的方法是从柱(圆)的中心点画一条线,垂直于两侧的外梁。想想看,这可能有点不对劲。我认为那条线实际上需要与当时雷达的位置平行。这是我需要解决的问题。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 09:44:48 | 显示全部楼层
只是因为我觉得这是一个有趣的练习:
 
1) 当涡轮机塔架占据超过0.45度的波束角(塔架非常靠近雷达塔)时,障碍区域在涡轮机之外增加超过0.45度。(附上您的第一张图纸示例。)
 
“按原样”
  1. (defun c:rbeam (/ cp b r ln ss en ed cp d1 d2
  2.                  p0 p1 p2 p3 p4 p5 p6 p7 p8)
  3. (defun AtoR (a) (* pi (/ a 180.0)))            ;Angle To Radian
  4. (defun RtoA (r) (/ (* r 180.0) pi))            ;Radian To Angle
  5. (initget 1)
  6. (setq cp (getpoint "\nRadar Beam Center Point:   "))
  7. (initget 6)
  8. (setq b (getdist "\nRadar Beam Radius <22232.3>:   "))
  9. (or b (setq b 22232.3))
  10. (initget 6)
  11. (setq r (getdist "\nTurbine Tower Diameter <2.1495>:   "))
  12. (or r (setq r 2.1495))
  13. (while (or (not (snvalid ln))
  14.             (not (tblsearch "LAYER" ln))
  15.             (not (ssget "X" (list (cons 0 "POINT")(cons 8 ln)))))
  16.         (setq ln (getstring "Turbine Tower Center Point Layer <AZ_PERRIN_RANCH_OPTIMIZED_>:   "))
  17.         (if (= ln "")
  18.             (setq ln "AZ_PERRIN_RANCH_OPTIMIZED_")))
  19. (and (setq ss (ssget "X" (list (cons 0 "POINT")(cons 8 ln))))
  20.       (while (setq en (ssname ss 0))
  21.              (setq ed (entget en)
  22.                    p0 (cdr (assoc 10 ed))
  23.                    d1 (distance cp p0)
  24.                    d2 (max r (distance p0 (polar cp (+ (angle cp p0) (ator 0.225)) d1)))
  25.                    p1 (polar p0 (+ (angle cp p0) (* pi  0.5)) d2)
  26.                    p4 (polar p0 (+ (angle cp p0) (* pi -0.5)) d2)
  27.                    p2 (polar p0 (+ (angle cp p0) (* pi  0.5)) r)
  28.                    p3 (polar p0 (+ (angle cp p0) (* pi -0.5)) r)
  29.                    p5 (polar cp (angle cp p1) b)
  30.                    p6 (polar cp (angle cp p2) b)
  31.                    p7 (polar cp (angle cp p3) b)
  32.                    p8 (polar cp (angle cp p4) b))
  33.              (entmake (list (cons 0 "POLYLINE")(cons 8 "BEAM")(list 10 0 0 0)(cons 70 1)))
  34.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM")(cons 10 cp)))
  35.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM")(cons 10 p1)))
  36.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM")(cons 10 p2)(cons 42 1.0)))
  37.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM")(cons 10 p3)))
  38.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM")(cons 10 p4)))
  39.              (entmake (list (cons 0 "SEQEND")(cons 8 "BEAM")))
  40.              (entmake (list (cons 0 "POLYLINE")(cons 8 "BEAM_CLEAR")(list 10 0 0 0)(cons 70 1)))
  41.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p5)))
  42.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p6)))
  43.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p2)))
  44.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p1)))
  45.              (entmake (list (cons 0 "SEQEND")(cons 8 "BEAM_CLEAR")))
  46.              (entmake (list (cons 0 "POLYLINE")(cons 8 "BEAM_CLEAR")(list 10 0 0 0)(cons 70 1)))
  47.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p8)))
  48.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p7)))
  49.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p3)))
  50.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_CLEAR")(cons 10 p4)))
  51.              (entmake (list (cons 0 "SEQEND")(cons 8 "BEAM_CLEAR")))
  52.              (entmake (list (cons 0 "POLYLINE")(cons 8 "BEAM_OBSTRUCTION")(list 10 0 0 0)(cons 70 1)))
  53.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_OBSTRUCTION")(cons 10 p6)))
  54.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_OBSTRUCTION")(cons 10 p2)(cons 42 -1.0)))
  55.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_OBSTRUCTION")(cons 10 p3)))
  56.              (entmake (list (cons 0 "VERTEX")(cons 8 "BEAM_OBSTRUCTION")(cons 10 p7)))
  57.              (entmake (list (cons 0 "SEQEND")(cons 8 "BEAM_OBSTRUCTION")))
  58.              (ssdel en ss)))
  59. (prin1))

 
 
玩得开心-大卫
094356o55i5lzihlglvh83.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 08:10 , Processed in 0.339222 second(s), 72 queries .

© 2020-2025 乐筑天下

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