乐筑天下

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

[编程交流] 电气面板相位平衡

[复制链接]

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:25:47 | 显示全部楼层 |阅读模式
好吧,就这么定了。我需要一个LISP来计算相位平衡,它基本上是两个数字之间的误差百分比,如下表所示。然而,我们需要它进行选择,找到最大数和最小数,并进行以下计算,而不管集合中的数字是多少。
 
(大-小)/大*100=X.X%
 
目前,我们使用ADD。LSP接受一个选择并将数字相加。我对编程不够熟悉,因此无法使用这个相对简单的算法并使其成为一个有效的LSP。
 
如果有人能做这样的事情,我已经附加了ADD命令。
 
添加LSP
 
它应该通过进行选择来工作,然后提示用户选择放置相位平衡的位置(通过将所选文本调整为更新值X.X%)。
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:36:40 | 显示全部楼层

                               
登录/注册后可看大图

 
在上图中。这个程序,如果我能让它工作的话,将通过选择所有三个数字,点击空格键,然后选择相位平衡旁边的数字,然后再次点击空格键来工作。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 16:50:33 | 显示全部楼层
如果你看一下你想编辑的帖子的右下角,你应该会看到文字“编辑帖子”。点击短语。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 16:57:55 | 显示全部楼层
啊。。。十杆最低得分再次出现。很抱歉
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:02:29 | 显示全部楼层
试试这个:
  1. (defun KGA_Conv_Pickset_To_ObjectList (ss / i ret)
  2. (if ss
  3.    (repeat (setq i (sslength ss))
  4.      (setq ret (cons (vlax-ename->vla-object (ssname ss (setq i (1- i)))) ret))
  5.    )
  6. )
  7. )
  8. (defun c:PhaseBalance ( / ss numLst numMin numMax res trg)
  9. (if
  10.    (and
  11.      (princ "\nSelect source entities: ")
  12.      (setq ss (ssget '((0 . "TEXT") (1 . "~*[~-.0-9]*") (1 . "~*`.*`.*") (1 . "~?*-*"))))
  13.      (setq trg (car (entsel "\nSelect target entity: ")))
  14.      (= "AcDbText" (vla-get-objectname (setq trg (vlax-ename->vla-object trg))))
  15.    )
  16.    (progn
  17.      (setq numLst
  18.        (mapcar
  19.          '(lambda (obj) (read (vla-get-textstring obj)))
  20.          (KGA_Conv_Pickset_To_ObjectList ss)
  21.        )
  22.      )
  23.      (setq numMin (apply 'min numLst))
  24.      (setq numMax (apply 'max numLst))
  25.      ;; Formula: (Big - Small)/Big * 100 = X.X%
  26.      (setq res (strcat (rtos (/ (- numMax numMin) numMax 0.01) 2 1) "%"))
  27.      (princ (strcat "\nPhase Balance: "  res))
  28.      (vla-put-textstring trg res)
  29.    )
  30. )
  31. (princ)
  32. )
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 17:14:12 | 显示全部楼层
你能从一个面板上取一个总瓦数除以360得到安培数吗?我可以称之为360度或者其他什么。哇,还是很惊讶你编的代码!
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 17:18:17 | 显示全部楼层
Roy_043,
 
您是否可以制作一个lisp,该lisp取一个值(以瓦特为单位的总需求)并除以360得到208V的总需求安培数?此外,当使用480V时,我们除以831。这两个Lisp程序会让事情变得更快。此外,在相位平衡中,是否对该值进行了舍入?你是自己做了相位平衡还是碰巧已经做了?
回复

使用道具 举报

BKT

1

主题

124

帖子

123

银币

初来乍到

Rank: 1

铜币
7
发表于 2022-7-5 17:33:35 | 显示全部楼层
 
如果您只想更改输出的小数点精度,请查看Roy_043代码中的RTOS函数。
 
http://ronleigh.com/autolisp/afude12.htm#rtos
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:09 , Processed in 0.875216 second(s), 71 queries .

© 2020-2025 乐筑天下

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