Jack_O'nei 发表于 2022-7-6 09:15:39

改变“测量”c的行为

嘿伙计们。。。
 
您知道当使用“测量”命令沿直线放置对象时,它会以您要求的任何间隔开始,然后沿直线向下移动,直到用完空间。最后你总会有一点剩余。有没有人有一段代码可以把最后剩下的那一段代码分成2部分,然后把节点(或块或任何东西)移到线路的中心?
 
换言之,如果最后还有24“,我希望它移动所有内容,使每一端有12“,而不是一端有24”。
 
有谁有这样的代码吗?有一段时间,我本可以自己想出这个办法,但我忘记了太多,不知道从哪里开始。

Lee Mac 发表于 2022-7-6 09:27:30

只编写自己的“measure”命令可能更容易。但是,以下行为应与内置测量命令相同(至少在2010年),将创建“中心测量”:
(defunc:cm测量(/*错误*\u StartUndo \u EndUndo \u SelectIf \u IsCurveObject acdoc al bl d0 di en mx nm pt);;中心测量-©Lee Mac 2011-www.Lee-Mac。com(defun*错误*(msg)(如果acdoc(\u EndUndo acdoc))(或wcmatch(strcasemsg)“*中断,*取消*,*退出*”(princstrcat)([颜色=蓝色]原则)(defun\u StartUndo(doc)(vla StartUndoMarkdoc))(defun(if(=8(logand8(getvar'UNDOCTL)))(vla EndUndoMarkdoc))((msg pred funcsetqpred(evalpred))(而progn(setvar“ERRNO 0”)(setqsel(car)(cond](BLUE][颜色=栗色]“\n请重试。”)((eq'ENAME(typesel))(if(和pred(not(pred sel))(princ“\n选择的对象无效。”))))sel)(defun\u IsCurveObject(entity/param)(和[not(vl-catch-all-error-p(setqparam(vl catch-all-apply'vlax curve getendparam(列表entity()))param()(setqacdoc(vla get activedocument(vlax get acad object)nm(trans'(0.0.1。)1 0t)(if(setqen(\u SelectIf“\n选择要测量的对象:'\u isCurveObjectentsel)(progn(initget7“Block”)(setqdi(getdist“\n指定段的长度或[块]:“)(if(eq“块”di)(progn(while(setqbl(getstringt)。\n输入要插入的块的名称:“)(cond(非[无效[)(princ[“\n无效的块名。”))((not(tblsearch“BLOCK”bl))(princ(strcat“\n找不到BLOCK\”“bl“\”)))(initget“Yes No”)(setqal(not(eq“No”(getkword“\n用对象标记块?:“)))(initget7)(setqdi(getdist“\n指定段的长度:))(setqmx(vlax曲线getdistatparamen(vlax曲线getendparamen))d0(-(-mx(*di(fix[]([颜色=蓝色]/[颜色]mx di)))2。)di))(_StartUndo acdoc)(而(和(

Jack_O'nei 发表于 2022-7-6 09:32:30

谢谢李。。。这正是我想要它做的。我得去买一两本书,然后再把这本书读一遍。我过去常常时不时地写一些代码,但我最后一次做任何事情是在80年代。这个程序比我想象的要多得多。
 
我感谢你的帮助!对于停车位之类的东西,我们一直在手动操作。这会快得多。

Lee Mac 发表于 2022-7-6 09:33:47

 
不客气,杰克,我很高兴这能为你节省一些时间。
</blockquote>

Jack_O'nei 发表于 2022-7-6 09:49:09

 
谢谢我去看看。
 
一直在查看李的网站。。。非常令人印象深刻。
 
--编辑——Visual Lisp开发者圣经作为电子书提供!
 
--编辑——如果你在亚马逊上搜索Davd Stein,你有微妙的情感,请注意,有一个同名作家写过色情小说,所以如果你遇到这个,不要以为你已经被欺骗了。

Lee Mac 发表于 2022-7-6 09:52:52

干杯伙计们

BlackBox 发表于 2022-7-6 10:00:06

@李-不客气;这是当之无愧的。
 
@杰克·大卫·斯坦因(Jack-DavidStein)最著名的作品是他《我现在拥有》的第二本书。不幸的是,直到他制作了足够的$$$来发布PDF和硬拷贝,它才被降级为电子书。唯一让它变得困难的是(当我几个月前购买2011版时,我的工作电脑上不允许使用kindle应用程序/网站。-谢谢。哈哈

Tyke 发表于 2022-7-6 10:12:30

 
RenderMan购买Kindle。我买了一本大的,上面有我所有的电子书和PDF书籍。这是一个超级套件,当你在路上的时候可以随身携带。我可以将各种文档保存为PDF格式,并在Kindle上向客户展示,而无需随身携带笔记本电脑。它比笔记本电脑占用的空间要小得多,电池数周不充电。

BlackBox 发表于 2022-7-6 10:19:03

 
有趣的是,你提到购买平板设备,因为我们正在评估iPad,因为它们允许我们使用AutoCAD WS制作计划符号等,并在进行站点漫游时拍摄照片、会议笔记和电子邮件。虽然目前不允许我在工作笔记本电脑上安装Kindle阅读器,但我确实在iPhone上使用Kidle应用程序。这很好(只是一个小屏幕),在iPad上会更好(加上上面提到的所有额外功能):眨眼:
页: [1]
查看完整版本: 改变“测量”c的行为