<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
		<id>https://zh-cn.arcowiki.com/index.php?action=history&amp;feed=atom&amp;title=%E7%94%A8%E4%BA%8E%E5%9C%A8%E5%8F%8C%E8%87%82%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%9B%E5%BB%BAArm2%EF%BC%88%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89CMM%E5%AF%B9%E9%BD%90%E7%9A%84%E7%A8%8B%E5%BA%8F</id>
		<title>用于在双臂配置中创建Arm2（客户端）CMM对齐的程序 - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="https://zh-cn.arcowiki.com/index.php?action=history&amp;feed=atom&amp;title=%E7%94%A8%E4%BA%8E%E5%9C%A8%E5%8F%8C%E8%87%82%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%9B%E5%BB%BAArm2%EF%BC%88%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89CMM%E5%AF%B9%E9%BD%90%E7%9A%84%E7%A8%8B%E5%BA%8F"/>
		<link rel="alternate" type="text/html" href="https://zh-cn.arcowiki.com/index.php?title=%E7%94%A8%E4%BA%8E%E5%9C%A8%E5%8F%8C%E8%87%82%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%9B%E5%BB%BAArm2%EF%BC%88%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89CMM%E5%AF%B9%E9%BD%90%E7%9A%84%E7%A8%8B%E5%BA%8F&amp;action=history"/>
		<updated>2026-04-15T12:36:30Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://zh-cn.arcowiki.com/index.php?title=%E7%94%A8%E4%BA%8E%E5%9C%A8%E5%8F%8C%E8%87%82%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%9B%E5%BB%BAArm2%EF%BC%88%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89CMM%E5%AF%B9%E9%BD%90%E7%9A%84%E7%A8%8B%E5%BA%8F&amp;diff=256&amp;oldid=prev</id>
		<title>Slia：创建页面，内容为“== Description == This program is used to establish a new software alignment in a dual arm configuration.&lt;br /&gt; The current software alignment, if present, will be w…”</title>
		<link rel="alternate" type="text/html" href="https://zh-cn.arcowiki.com/index.php?title=%E7%94%A8%E4%BA%8E%E5%9C%A8%E5%8F%8C%E8%87%82%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%9B%E5%BB%BAArm2%EF%BC%88%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89CMM%E5%AF%B9%E9%BD%90%E7%9A%84%E7%A8%8B%E5%BA%8F&amp;diff=256&amp;oldid=prev"/>
				<updated>2018-06-14T09:35:34Z</updated>
		
		<summary type="html">&lt;p&gt;创建页面，内容为“== Description == This program is used to establish a new software alignment in a dual arm configuration.&amp;lt;br /&amp;gt; The current software alignment, if present, will be w…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Description ==&lt;br /&gt;
This program is used to establish a new software alignment in a dual arm configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current software alignment, if present, will be wiped and overwritten with the new one.&amp;lt;br /&amp;gt;&lt;br /&gt;
The program runs in MAN mode, it is necessary to [[assign]] the [[variables]] to define the probe name and the sphere diameter.&amp;lt;br /&amp;gt;&lt;br /&gt;
This program runs together the [[Program to Create the Alignment of Arm1 (Server) CMM in Dual Arm Configuration|relative Arm1 (Server) program]] which shall be started prior startthe Arm2 (Client) program.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables to be Assigned ==&lt;br /&gt;
In order to have the program run it is necessary to assign the following variables:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PROBE_NAME=ASSIGN/'P1_0_0P0_0'&amp;lt;/code&amp;gt;  Name of the probe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;DIAMETER=ASSIGN/25&amp;lt;/code&amp;gt; Diameter of the sphere   &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Program ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DECL/CHAR,100,STR1,STR2,STR3,STR4&amp;lt;br /&amp;gt;&lt;br /&gt;
STR1=ASSIGN/'THIS PROGRAM WILL WIPE THE CURRENT DUAL ARM ALIGNMENT!!!!'&amp;lt;br /&amp;gt;&lt;br /&gt;
STR2=ASSIGN/'ARE YOU SURE YOU WANT TO CONTINUE? '&amp;lt;br /&amp;gt;&lt;br /&gt;
STR3=ASSIGN/' THE OPERATION HAVE NO UNDO!!!  1- YES OTHER - NO'&amp;lt;br /&amp;gt;&lt;br /&gt;
STR4=ASSIGN/CONCAT(STR1,CHR(10),CHR(10),STR2,CHR(10),CHR(10),STR3)&amp;lt;br /&amp;gt;&lt;br /&gt;
TEXT/QUERY,(AN_QUERY),40,AN,L,STR4&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IF/(AN_QUERY.EQ.1)&amp;lt;br /&amp;gt;&lt;br /&gt;
	JUMPTO/(RUN)&amp;lt;br /&amp;gt;&lt;br /&gt;
ELSE&amp;lt;br /&amp;gt;&lt;br /&gt;
	JUMPTO/(FINISH)&amp;lt;br /&amp;gt;&lt;br /&gt;
ENDIF&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(RUN)&amp;lt;br /&amp;gt;&lt;br /&gt;
	STR1=ASSIGN/'THE SENSOR MOUNT SHALL BE SET AS PER THE SINGLE ARM CONGURATION.'&amp;lt;br /&amp;gt;&lt;br /&gt;
	STR2=ASSIGN/'IF IT HAS BEEN DONE YOU CAN CONTINUE.'&amp;lt;br /&amp;gt;&lt;br /&gt;
	STR3=ASSIGN/'OK TO CONINUE?  1- YES OTHER - NO'&amp;lt;br /&amp;gt;&lt;br /&gt;
	STR4=ASSIGN/CONCAT(STR1,CHR(10),CHR(10),STR2,CHR(10),CHR(10),STR3)&amp;lt;br /&amp;gt;&lt;br /&gt;
	TEXT/QUERY,(AN_QUERY),40,AN,L,STR4&amp;lt;br /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	IF/(AN_QUERY.NE.1)&amp;lt;br /&amp;gt;&lt;br /&gt;
		JUMPTO/(FINISH)&amp;lt;br /&amp;gt;&lt;br /&gt;
	ENDIF&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
DECL/DOUBLE,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
DECL/CHAR,100,PROBE_NAME&amp;lt;br /&amp;gt;&lt;br /&gt;
PROBE_NAME=ASSIGN/'P1_0_0P0_0'&amp;lt;br /&amp;gt;&lt;br /&gt;
DIAMETER=ASSIGN/25&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SNSLCT/SA(@PROBE_NAME)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SETMACREF/INIT&amp;lt;br /&amp;gt;&lt;br /&gt;
RECALL/D(MAC)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TEXT/MAN,'Measure sphere 1'&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_1)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
MEAS/SPHERE,F(ARM2_SPH_1),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ENDMES&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TEXT/MAN,'Measure sphere 2'&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_2)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
MEAS/SPHERE,F(ARM2_SPH_2),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ENDMES&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TEXT/MAN,'Measure sphere 3'&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_3)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
MEAS/SPHERE,F(ARM2_SPH_3),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ENDMES&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TEXT/MAN,'Measure sphere 4'&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_4)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
MEAS/SPHERE,F(ARM2_SPH_4),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ENDMES&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RECALL/D(MAC)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DELETE/F(ARM1_SPH_1)&amp;lt;br /&amp;gt;&lt;br /&gt;
DELETE/F(ARM1_SPH_2)&amp;lt;br /&amp;gt;&lt;br /&gt;
DELETE/F(ARM1_SPH_3)&amp;lt;br /&amp;gt;&lt;br /&gt;
DELETE/F(ARM1_SPH_4)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
USE/F(ARM1_SPH_1)&amp;lt;br /&amp;gt;&lt;br /&gt;
USE/F(ARM1_SPH_2)&amp;lt;br /&amp;gt;&lt;br /&gt;
USE/F(ARM1_SPH_3)&amp;lt;br /&amp;gt;&lt;br /&gt;
USE/F(ARM1_SPH_4)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DECL/DOUBLE,XX,YY,ZZ&amp;lt;br /&amp;gt;&lt;br /&gt;
XX=OBTAIN/F(ARM1_SPH_1),4&amp;lt;br /&amp;gt;&lt;br /&gt;
YY=OBTAIN/F(ARM1_SPH_1),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ZZ=OBTAIN/F(ARM1_SPH_1),6&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_1)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
XX=OBTAIN/F(ARM1_SPH_2),4&amp;lt;br /&amp;gt;&lt;br /&gt;
YY=OBTAIN/F(ARM1_SPH_2),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ZZ=OBTAIN/F(ARM1_SPH_2),6&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_2)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XX=OBTAIN/F(ARM1_SPH_3),4&amp;lt;br /&amp;gt;&lt;br /&gt;
YY=OBTAIN/F(ARM1_SPH_3),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ZZ=OBTAIN/F(ARM1_SPH_3),6&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_3)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XX=OBTAIN/F(ARM1_SPH_4),4&amp;lt;br /&amp;gt;&lt;br /&gt;
YY=OBTAIN/F(ARM1_SPH_4),5&amp;lt;br /&amp;gt;&lt;br /&gt;
ZZ=OBTAIN/F(ARM1_SPH_4),6&amp;lt;br /&amp;gt;&lt;br /&gt;
F(ARM2_SPH_4)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER&amp;lt;br /&amp;gt;&lt;br /&gt;
D(ARM2_DUAL_ALIGNMENT) = LOCATE/FA(ARM2_SPH_1),FA(ARM2_SPH_2),FA(ARM2_SPH_3),FA(ARM2_SPH_4)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SETMACREF/ROTATE,D(ARM2_DUAL_ALIGNMENT)&amp;lt;br /&amp;gt;&lt;br /&gt;
SETMACREF/TRANS,D(ARM2_DUAL_ALIGNMENT)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DID(C3TRMATX)=DEVICE/STOR,'C:\METROSTAFF\ARCOCAD INSPECTION\DEFAULT\DUAL ARM - ARM 2 - ALIGNMENT.PCS'&amp;lt;br /&amp;gt;&lt;br /&gt;
OPEN/DID(C3TRMATX),PCS&amp;lt;br /&amp;gt;&lt;br /&gt;
SAVE/D(ARM2_DUAL_ALIGNMENT),DID(C3TRMATX)&amp;lt;br /&amp;gt;&lt;br /&gt;
CLOSE/DID(C3TRMATX)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STR1=ASSIGN/'THE SENSOR MOUNT NOW SHALL BE SET AS PER THE DUAL CONGURATION.'&amp;lt;br /&amp;gt;&lt;br /&gt;
STR2=ASSIGN/'IF YOU WILL NOT DO THEN THE ALIGNMENT WILL NOT WORK.'&amp;lt;br /&amp;gt;&lt;br /&gt;
STR3=ASSIGN/'ALSO REMEMBER TO RUN NOW THE ORIG SYNCHRONIZATION PROGRAM'&amp;lt;br /&amp;gt;&lt;br /&gt;
STR4=ASSIGN/CONCAT(STR1,CHR(10),CHR(10),STR2,CHR(10),CHR(10),STR3)&amp;lt;br /&amp;gt;&lt;br /&gt;
TEXT/QUERY,(AN_QUERY),40,AN,L,STR4&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(FINISH)&amp;lt;br /&amp;gt;&lt;br /&gt;
ENDFIL&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[it:Programma per Creare l'allineamento del braccio slave in configurazione Dual Arm]]&lt;br /&gt;
[[zh-cn:用于在双臂配置中创建Arm2（客户端）CMM对齐的程序]]&lt;br /&gt;
[[pt:Programa para Criar o Alinhamento do Arm2 (Cliente) CMM na Configuração de Braço Duplo]]&lt;br /&gt;
[[de:Programm zum Erstellen der Ausrichtung von Arm2 (Client) CMM in Dual-Arm-Konfiguration]]&lt;br /&gt;
[[es:Programa para crear la alineación de la MMC Arm2 (Cliente) en la configuración de doble brazo]]&lt;br /&gt;
[[en:Program to Create the Alignment of Arm2 (Client) CMM in Dual Arm Configuration]]&lt;/div&gt;</summary>
		<author><name>Slia</name></author>	</entry>

	</feed>